Video: C++ Tutorial for Beginners - Full Course 2024
Die Standardvariable char in C ++ ist knapp 1 Byte breit und kann nur 255 verschiedene Zeichen verarbeiten. Das ist genug für europäische Sprachen, aber nicht groß genug für symbolbasierte Sprachen wie Kanji.
Mehrere Standards sind entstanden, um den Zeichensatz zu erweitern, um die Anforderungen dieser Sprachen zu bewältigen. UTF-8 verwendet eine Mischung aus 8-, 16- und 32-Bit-Zeichen, um fast jedes Kanji oder jede Hieroglyphe, die Sie sich vorstellen können, zu implementieren, aber trotzdem kompatibel mit einfachem 8-Bit-ASCII zu bleiben. UTF-16 verwendet eine Mischung aus 16- und 32-Bit-Zeichen, um einen erweiterten Zeichensatz zu erzielen, und UTF-32 verwendet 32 Bit für alle Zeichen.
UTF steht für Unicode Transformation Format, von dem es den allgemeinen Spitznamen Unicode erhält.
Die Tabelle beschreibt die verschiedenen Zeichentypen, die von C ++ unterstützt werden. Zuerst versuchte C ++, mit einem vage definierten breiten Zeichentyp, wchar_t, auszukommen. Dieser Typ sollte der breite Zeichentyp sein, der in der Umgebung des Anwendungsprogramms vorhanden ist. C ++ '11 führte spezifische Typen für UTF-16 und UTF-32 ein.
Variable | Beispiel | Was ist das | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
char | 'c' | ASCII- oder UTF-8-Zeichen | wchar_t | L'c ' | Zeichen im Großformat | char_16t | u'c' | UTF-16-Zeichen | char_32t | U'c ' | UTF-32-Zeichen |
UTF-16 ist die Standardcodierung für Windows-Anwendungen. Der Typ wchar_t bezieht sich auf UTF-16 im Code:: Blocks / gcc-Compiler.
Jeder der Zeichentypen in der Tabelle kann auch in Strings kombiniert werden:
wchar_t * wideString = L "dies ist eine breite Zeichenkette";