char, wchar_t, char16_t, char32_tchar, wchar_t, char16_t, char32_t

Die Typen char, wchar_t, char16_t und char32_t sind integrierte Typen, die alphanumerische Zeichen sowie nicht alphanumerische Symbole und nicht Druck bare Zeichen darstellen.The types char, wchar_t, char16_t and char32_t are built-in types that represent alphanumeric characters as well as non-alphanumeric glyphs and non-printing characters.

SyntaxSyntax

char     ch1{ 'a' };  // or { u8'a' }
wchar_t  ch2{ L'a' };
char16_t ch3{ u'a' };
char32_t ch4{ U'a' };

BemerkungenRemarks

Der char -Typ war der ursprüngliche Zeichentyp in C C++und.The char type was the original character type in C and C++. Der Typ Ganzzahl ohne Vorzeichen char wird häufig verwendet, um ein Bytedarzustellen, bei dem es sich nicht um einen integrierten C++Typ in handelt.The type unsigned char is often used to represent a byte, which is not a built-in type in C++. Der char -Typ kann verwendet werden, um Zeichen aus dem ASCII-Zeichensatz oder einem der ISO-8859-Zeichensätze sowie aus einzelnen Bytes von Multibytezeichen (z. b. Shift-JIS) oder der UTF-8-Codierung des Unicode-Zeichensatzes zu speichern.The char type can be used to store characters from the ASCII character set or any of the ISO-8859 character sets, and individual bytes of multi-byte characters such as Shift-JIS or the UTF-8 encoding of the Unicode character set. Zeichen folgen vom Typ char werden als schmale Zeichen folgen bezeichnet, auch wenn Sie zum Codieren von Multibytezeichen verwendet werden.Strings of char type are referred to as narrow strings, even when used to encode multi-byte characters. Im Microsoft-Compiler ist char ein 8-Bit-Typ.In the Microsoft compiler, char is an 8-bit type.

Der wchar_t Typ ist ein von der Implementierung definierter breit Zeichentyp.The wchar_t type is an implementation-defined wide character type. Im Microsoft-Compiler stellt Sie ein 16-Bit-breit Zeichen dar, das verwendet wird, um Unicode-codiert als UTF-16LE, den nativen Zeichentyp unter Windows-Betriebssystemen, zu speichern.In the Microsoft compiler, it represents a 16-bit wide character used to store Unicode encoded as UTF-16LE, the native character type on Windows operating systems. Die breit Zeichen Versionen der ucrt-Bibliotheksfunktionen (Universal C Runtime) verwenden wchar_t und deren Zeiger-und Array Typen als Parameter und Rückgabewerte, ebenso wie die breit Zeichen Versionen der systemeigenen Windows-API.The wide character versions of the Universal C Runtime (UCRT) library functions use wchar_t and its pointer and array types as parameters and return values, as do the wide character versions of the native Windows API.

Die char16_t -und char32_t Typen stellen jeweils 16-Bit-und 32-Bit-breit Zeichen dar.The char16_t and char32_t types represent 16-bit and 32-bit wide characters, respectively. Unicode-codiert als UTF-16 kann im char16_t -Typ gespeichert werden, und Unicode-codiert als UTF-32 kann im char32_t -Typ gespeichert werden.Unicode encoded as UTF-16 can be stored in the char16_t type, and Unicode encoded as UTF-32 can be stored in the char32_t type. Zeichen folgen dieser Typen und wchar_t werden als Breite Zeichen folgen bezeichnet, obwohl der Begriff häufig speziell auf Zeichen folgen wchar_t Typs verweist.Strings of these types and wchar_t are all referred to as wide strings, though the term often refers specifically to strings of wchar_t type.

In der C++ Standardbibliothek ist der basic_string Typ sowohl für schmale als auch für Breite Zeichen folgen spezialisiert.In the C++ standard library, the basic_string type is specialized for both narrow and wide strings. Verwenden Sie std::string, wenn die Zeichen vom Typ ' char' sind, std::u16string, wenn die Zeichen vom Typ ' char16_t' sind, std::u32string, wenn die Zeichen vom Typ ' char32_t' sind, und std::wstring, wenn die Zeichen den Typ wchar_taufweisen.Use std::string when the characters are of type char, std::u16string when the characters are of type char16_t, std::u32string when the characters are of type char32_t, and std::wstring when the characters are of type wchar_t. Andere Typen, die Text darstellen, einschließlich std::stringstream und std::cout, weisen Spezialisierungs Informationen für schmale und breit Zeichenfolgen auf.Other types that represent text, including std::stringstream and std::cout have specializations for narrow and wide strings.