![]() |
file_get_contents in delphi?
Hallo. wie kann ich eine datei in einen string einlesen wie in PHP?
ich will den String danach base 64 encoden und am besten noch aus der resource laden. ich habe die datei in der resource wenn es einen direkten weg gibt den Dateiinhalt aus der resource zu laden in einem base64 string, dann würe mit der lieber. |
AW: file_get_contents in delphi?
Also die Base64 Codierung wirst du wohl selber machen müssen. Aber dafür gibt es schon fertige Funktionen. Laden kannst du eine Textdatei am einfachsten mit einer TStringList. Kann sein, dass sie auch das Laden aus einer Ressource unterstützt. Wenn nicht, wirst du die Ressource erst extrahieren und auf der Festplatte speichern müssen.
|
AW: file_get_contents in delphi?
Welche Delphi-Version nutzt du denn?
Jenachdem gibt es teilweise einige Unterschiede. TStringList (LoadFromFile) > String TFileStream > TStringStream > String TFileStream > manuell in String kopieren TResourceStream > TStringStream > String TResourceStream > manuell in String kopieren uvw. |
AW: file_get_contents in delphi?
Ich nutze Delphi 2010. Bei der Datei handelt es sich aber um eine binäre datei also es ist ein Bild ich will es damit zu eine data-uri machen.
beispiel: ![]() |
AW: file_get_contents in delphi?
Und warum redest du dann von einer Textdatei? Eine binäre Datei wirst du nicht gescheit in eine Komponente für Zeichenketten laden können - wie auch.
Nimm einen RessourcenStream und lass deine Base64 Kodierungsfunktion drüberlaufen. |
AW: file_get_contents in delphi?
Zitat:
|
AW: file_get_contents in delphi?
Zitat:
|
AW: file_get_contents in delphi?
Wurde hier schon öfter behandelt, Lucki hat z.B.
![]() Ansonsten mal Suchbegriff ![]() |
AW: file_get_contents in delphi?
Zitat:
Zitat:
|
AW: file_get_contents in delphi?
Das ist aber eine unsichere implizite Annahme, bei Zielformat "Delphi-String" die Quell-"Datei" im Text-Format vorauszusetzen ;)
Hoffe der TS hat schon mit den vorherigen Antworten seine Frage beantwortet, nicht das ich mit sowas jetzt die Konstruktivität des Thread "zerstöre"... |
AW: file_get_contents in delphi?
naja also ums mal genau zu beschreiben das hier ist ein PNG bild:
Zitat:
das "data:image/png," gehört nicht dazu nur das danach. |
AW: file_get_contents in delphi?
Einfach in einen Stream laden und dann Base64 über den Stream laufen lassen.
Und ob das nun lesbare Zeichen sind oder sonst iregndwas hängt von der Interpretation der Daten hab. Vorliegen tun diese Daten nur als Nullen und Einsen. Und ob jetzt 11001110 ein Zeichen oder eine Farbwert eines Pixels ist, hängt ganz von der Interpretation der Anwendung ab. Ein Texteditor wird den Wert als Zeichen interpretieren. Dabei kann natürlich Unsinn bei rauskommen und wenn der Wert als Steuerzeichen interpretiert wird noch mehr Unsinn. Ein Grafikprogramm wird den Wert als Farbwert interpretieren. Aber du brauchst doch gar keine Interpretation der Daten. Deswegen kannst du sie doch einfach in einen Stream laden und fertig. |
AW: file_get_contents in delphi?
Das in Beitrag #11 ist nicht Base64 kodiert.
Dort stehen die reinen Binärdaten, in diesem komischen "URLEncode" oder wie das nochmal hieß. Wenn du dir das verlinkte Format einige Beiträge weiter vorne ansiehst, dann erkennst du, daß am Anfang des "Links" so Einiges steht. Unter Anderem: das Protokoll ( data ... ist sowas wie das bekannte http ) der MIME-Type ( z.B. image/png oder text/plain ) beim Text eventuell noch der Zeichensatz (z.B. charset=utf-8 ) und dann die Daten ( hier binär "..." oder eben z.B. BASE-64 kodiert "base64,..." ) > alles schon über : und ; getrennt Und dann im Anschluß wird der ganze Link nochmal URL-konform kodiert, damit er eben als Link nutzbar ist, wo dann eben Binärdaten dementsprechend verschlüsselt werden, wie du es nun siehst ... Zeichencode eines "bösen" Bytes = %xx PS: Es gibt dafür Standards, welche man sich vielleicht mal ansehn sollte. In irgendeiner RFC wird das ganz bestimmt drinstehn. |
AW: file_get_contents in delphi?
Ich weiß das es nicht Base 64 encodiert ist und das das davor der typ ist weiß ich auch. für meine data uri brauche ich das so wies da stehet und das muss ich dann base 64 encodieren. hmm naja jetzt muss ich nurnoch rausfinden wie ich das hinbekomme aber trotzdem danke für die hilfe
|
AW: file_get_contents in delphi?
|
AW: file_get_contents in delphi?
TStringStream gibt es übrigens auch noch.
Sprecht ihr von dem hier? ![]() ![]() |
AW: file_get_contents in delphi?
Schau Dir mal das
![]() |
AW: file_get_contents in delphi?
Habt ihr mal auf das Datum geschaut? 2010? :stupid:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz