Maison >développement back-end >C++ >Comment convertir entre UTF-8 et des chaînes de caractères larges en C ?
Conversion UTF8 vers/depuis Wide Char en STL
Conversion du texte Unicode représenté sous forme de chaînes UTF-8 dans std::string en caractère large les chaînes dans std::wstring et vice versa sont essentielles pour la programmation indépendante de la plate-forme. Voici comment y parvenir à l'aide de la bibliothèque standard C :
UTF-8 vers UTF-16
C 11 a introduit std::wstring_convert, qui facilite les conversions entre étroit et chaînes de caractères larges :
std::string utf8Source; ... std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> converter; std::u16string utf16Destination = converter.from_bytes(utf8Source);
UTF-16 à UTF-8
La conversion d'UTF-16 en UTF-8 est similaire :
std::u16string utf16Source; ... std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> converter; std::string utf8Destination = converter.to_bytes(utf16Source);
Cette approche utilise la puissante fonction std::wstring_convert de la bibliothèque standard C, offrant un solution standardisée et efficace pour les conversions de caractères multiplateformes à l'échelle UTF8.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!