UTF8 indépendant de la plate-forme et conversion de caractères larges en STL
Conversion entre les chaînes UTF8 dans std::string et les chaînes de caractères larges dans std : :wstring est une tâche courante lors du développement d’applications multiplateformes. Cependant, les limitations de la bibliothèque C standard à cet égard peuvent poser des défis.
Heureusement, C 11 fournit une solution avec l'introduction de la classe std::wstring_convert. Cette classe utilise le modèle std::codecvt pour effectuer la conversion à l'aide de schémas de codage de caractères spécifiques.
Pour la conversion UTF8 en UTF16 :
std::string source; ... std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> convert; std::u16string dest = convert.from_bytes(source);
Pour la conversion UTF16 en UTF8 :
std::u16string source; ... std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> convert; std::string dest = convert.to_bytes(source);
Cette approche est indépendante de la plate-forme et fournit un moyen standard de gérer les conversions UTF8 et de caractères larges dans STL.
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!