Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: RawByteString in Exe modifizieren

  Alt 9. Feb 2020, 18:41
ASCII, also das Ursprüngliche hat nur 7 Bit
EASCII (das was aktuell alle als ASCII bezeichnen) ist auch nur eine der vielen 8-Bit-Codepages.

und Default = ANSI

Die Bytes die ich auslesen und umwandeln möchte ergeben mit absoluter Sicherheit immer Zeichen A bis Z und 0 bis 9.
Aber der Rest nicht, somit ist es unmölich damit sicher die Position im Unicode zu bestimmen und dann 1:1 auf die Bytes der Datei umzurechnen.

Also egal was du machst, sobald auch nur irgendwie etwas mit Unicode im Spiel ist, war es dass, also im Prinzip ist alles mit Codepage und Encoding der falsche Weg.
Man kann zwar den Inhalt einer Datei 1:1 im einen AnsiString alle AnsiString, RawByteString usw. kopieren (SetLength+Stream.Read) und dann ANSI-Pos und Dergleichgen benutzen, aber der kleinste Fehler und schon gibt es massivr Probleme, sobald auch nur irgendwie ausversehn eine Umcodierung der Zeichen alles durcheinander bringt.

Darum ist es immer besser direkt bei ByteArrays bzw. ByteStreams zu bleiben.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat