#80 ... alles was nicht im
ASCII-Bereich liegt, dort mußt du mit der Codierung aufpassen.
PS: Bei Stringkonstanten mußt du aufpassen, denn
Delphi-Quellcode:
Str := #$0085 + #$85 + 'Hallo Welt';
Str := #$0085#$85'Hallo Welt';
85 ist nicht immer 85.
Die #$85 könnte der Compiler als
ANSI verwenden und dann nach
Unicode konvertieren,
während das #$0085 vom Compiler (angeblich) als
Unicode erkannt wird.
Und dann kommt es noch darauf an, ob das Str ein AnsiString oder ein String/UnicodeString ist
und als was der Compiler die Konstante anlegt,
denn dabei kann es halt nochmal zum umkonvertieren kommen.
Der sicherste Weg, wo es nie umkonvertiert wird, ist bei der direkten Zuweisung eines einzelnen Chars, welcher aber entweder nach obrigem Muster (#00xx) übergeben werden sollte, oder besser doch als ordinaler Wert.
Oder am aller Besten ist es, wenn man Steuerzeichen (vorallem wo es Probleme geben könnte) eben nicht in Strings verwaltet, sondern "binär" in ByteArrays/Streams/Records/... .