![]() |
AW: RawByteString in Exe modifizieren
Zitat:
ASCII? Nee, Binärdateien gehören binär behandelt ... jegliche Behandlung mit irgendwelche Texten und vor allem irgendwelches Umrechnen/Umcodieren in Unicode über Codepages hat hier einfach garnichts zu suchen. ANSI ist bei uns und den Amis zugfällig 1 Byte pro Zeichen, aber das ist nicht überall so. (nur leider erfinden gerade die dann sowas Krankes, wie Binärdaten in Textstrings) PS: UTF-8 ist ein gutes Beispiel dafür, was jeder verstehen können dürfte, wo also ein Index im Unicode nicht die selbe Position ist, wie in der Codierung. |
AW: RawByteString in Exe modifizieren
Zitat:
Zitat:
Welche Möglichkeit gibt es denn sonst noch diese paar Bytes lesbar zu machen? Das ergeben am Ende ziemlich sicher rund 48 Zeichen. Sonst hätte ich noch StringOf aus den System.SysUtils im Angebot. Ich denke das ist besser als selbst mit TEncoding zu spielen. |
AW: RawByteString in Exe modifizieren
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 Zitat:
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. |
AW: RawByteString in Exe modifizieren
Zitat:
Das scheint jetzt augenscheinlich auch auf dem Problem-Windows zu funktionieren.
Delphi-Quellcode:
Das Ergebnis ist das was ich in der Exe suche.
ByteStream.Position := RawBytePos - 1;
ByteStream.Read(ByteStream.Bytes[0], 48); Str := StringOf(ByteStream.Bytes); Ist hier StrOf() oder RawByteString() besser? Dass TEncoding.ANSI wegfällt ist klar. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:02 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 by Thomas Breitkreuz