Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

AW: binären Inhalt z.b PDF in einen String laden

  Alt 8. Aug 2023, 12:59
Grundsätzlich: Eine binäre Datei wird auch binär gelesen, damit man nicht bei der StringBearbeitung kaputt macht.
* gut, Delphi-Strings haben kein Problem mit einer #0 im String
* aber z.B. bei einer TStringList der TFile.ReadAllLines die Zeilenumbrüche
* und vor allem Konvertieurungen, bei der Behandlung der Datei mit einer "falschen" CodePage.


Deine Codes lesen definitiv immer alles, ABER

* wegen dem "String" beim zweiten Code, ist natürlich der halbe String am Ende "leer".
string = hat seit Delphi 2009 zwei Bytes pro Char

* und weil du keine Fehlerprüfung hast, könnte auch weniger gelesen werden (hier an deinen Beispielen aber nicht, außer z.B. Dateisystem oder Datenträger sind kaputt)
-> Read und dessen Result prüfen, oder eben ReadBuffer




TStream / TMemoryStream, TFileStream, TStringStream
RawByteString
TBytes

Delphi-Referenz durchsuchenTFile.ReadAllBytes
Delphi-Referenz durchsuchenTFile.ReadAllText aber hier möglichst mit einer ANSI- ASCII-CodePage arbeiten, weil wegen String/UnicodeString
es gab auch mal irgendwo eine CodePage ohne Umrechnung, wo #0-#255 1:1 umgesetzt werden, ohne Konvertierung
https://learn.microsoft.com/en-us/wi...ge-identifiers
$2B or not $2B

Geändert von himitsu ( 8. Aug 2023 um 13:19 Uhr)
  Mit Zitat antworten Zitat