Thema: Delphi Steuerzeichen im String

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Steuerzeichen im String

  Alt 28. Aug 2014, 11:00
#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/... .
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (28. Aug 2014 um 11:23 Uhr) Grund: deswegen (#13)
  Mit Zitat antworten Zitat