UTF8-zu/von-Wide-Char-Konvertierung in STL
Konvertieren von Unicode-Text, der als UTF-8-Strings in std::string dargestellt wird, in Wide-Zeichen Strings in std::wstring und umgekehrt ist für die plattformunabhängige Programmierung unerlässlich. So erreichen Sie dies mit der C-Standardbibliothek:
UTF-8 zu UTF-16
C 11 führte std::wstring_convert ein, das Konvertierungen zwischen Narrow und erleichtert breite Zeichenfolgen:
std::string utf8Source; ... std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> converter; std::u16string utf16Destination = converter.from_bytes(utf8Source);
UTF-16 bis UTF-8
Die Konvertierung von UTF-16 zu UTF-8 ist ähnlich:
std::u16string utf16Source; ... std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> converter; std::string utf8Destination = converter.to_bytes(utf16Source);
Dieser Ansatz nutzt die leistungsstarke std::wstring_convert-Funktion der C-Standardbibliothek und bietet eine standardisierte und effiziente Lösung für plattformübergreifende UTF8-weite Zeichenkonvertierungen.
Das obige ist der detaillierte Inhalt vonWie konvertiert man zwischen UTF-8- und breiten Zeichenketten in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!