Thema: Delphi Steuerzeichen im String

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Steuerzeichen im String

  Alt 28. Aug 2014, 10: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/... .
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

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