Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: UTF-8 codierte Zeichen im Quelltext verwenden und in Unicode decodieren

  Alt 17. Mai 2023, 15:38
¨ (nicht ") und · sind etwas Speziell.

Bei Allem was nicht ASCII ist (#0...#127), muß man etwas aufpassen.
In welcher Codierung wurde die PAS gespeichert?
UTF-8 mit BOM wäre angebracht.

Oder du codierrst im Text es entsprechend

const B='( |''|[,-\.]|[A-Z]|[`-z]|~|'#168'|´|'#183'...';
In unserer deutschen Codepage / Font liegen diese Zeichen im 8. Bit (bis #255).

Auch kommt es im Delphi darauf an, wie etwas interpretert wird, vor allem bezüglich ANSI und Unicode.
Delphi-Quellcode:
C := '·';
C := #183;
C := #$87;
C := #$0087; // ja, es sieht gleich aus, wie das davor, aber der Compiler interpretiert das eine als ANSI und das andere als Unicode.
// Das Eine wird also bei Übergabe an einen String/UnicodeString zur Laufzeit jedes Mal mit "aktueller" Codepage konvertiert und der andere Wert wird direkt reingeschrieben.
// Führende Nullen mögen mathematisch egal sein, aber logisch sind sie nicht immer irrelevant.

Besser wäre es diese Zeichen im höheren Unicoderaum zu suchen und jenen Code zu verwenden.
Im für deutsche Codepage geht es, aber z.B. in einem russischen oder chinesischen Windows (Codepage) sind an der Stelle andere Zeichen.

Außer es geht wirklich um den "ByteCode" und nicht um die optische Darstellung Repräsentation. (hier ist dann der richtig codierte Code besser, anstatt dem Zeichen)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (17. Mai 2023 um 15:50 Uhr)
  Mit Zitat antworten Zitat