Wide-Zeichen-Routinen
Nach oben zu Mit Strings arbeiten
WideStrings enthalten pro Element zwei Bytes und werden in vielen Situationen verwendet. UnicodeString ist der Standard -String-Type in RAD Studio.
WideStrings vereinfachen die Stringbehandlung in Anwendungen, die in viele Sprachen lokalisiert werden müssen. Sie haben den Vorteil, dass Strings auf eine Weise behandelt werden können, die in MBCS-Systemen nicht möglich ist, die Einzelbyte-Strings sind. Bei WideStrings gibt es eine direkte Beziehung zwischen der Anzahl der Bytes und der Anzahl der Elemente im String. In einem MBCS-String müssen Sie sich um das Abschneiden der Hälfte eines Zeichens oder der Verwechslung der zweiten Hälfte eines Zeichens mit der ersten Hälfte des folgenden Zeichens kümmern. Bei WideStrings gibt es ein ähnliches Problem. Obwohl alle Elemente zwei Byte groß sind, sind für Zeichen, die sich nicht im Basic Multilingual Plane (BMP) befinden, zwei Elemente erforderlich.
Zwei Typen repräsentieren WideStrings: UnicodeString
and WideString
.
- Das
WideString
-Format ist im Wesentlichen dasselbe wie ein Windows-BSTR
.WideString
ist für COM-Anwendungen geeignet. WideString
verfügt über keinen Referenzzähler, deshalb istUnicodeString
für andere Anwendungstypen flexibler und effizienter. Darüber hinaus stehen mehr Hilfsfunktionen fürUnicodeString
als fürWideString
zur Verfügung, daher wirdUnicodeString
im Allgemeinen bevorzugt.
Dieses Thema behandelt WideString
, nicht UnicodeString
.
Die VCL verwendet jetzt den Typ UnicodeString
und repräsentiert String-Werte nicht mehr als ein Einzelbyte- oder MBCS-Strings.
Die folgenden Funktionen dienen zur Umwandlung von Strings aus Standardzeichen (Einzelbyte-Zeichen) oder MBCS-Zeichen (Multibyte-Zeichen) in Unicode-Strings (oder umgekehrt):
Die nachstehenden Funktionen sind Konvertierungsroutinen für WideStrings und andere:
Die folgenden Routinen arbeiten unmittelbar mit WideStrings:
- WideCompareStr
- WideCompareText
- WideSameStr
- WideSameText
- WideFmtStr
- WideFormat
- WideLowerCase
- WideUpperCase
Schließlich stehen noch Überladungen für WideStrings zur Verfügung: