Conversion de chaînes en Wstrings en C
Votre question implique la conversion d'une chaîne s en une chaîne large ws en C . Bien que certaines méthodes ne puissent pas préserver entièrement le contenu original, il existe une solution efficace utilisant des composants de bibliothèque standard.
Description du problème
Étant donné une chaîne s, vous souhaitez attribuer son contenu à une wstring ws. Cependant, les tentatives précédentes ont abouti à une conversion déformée ou inexacte.
Solution : Conversion de bibliothèque standard
#include <locale> #include <codecvt> #include <string> std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter; std::wstring ws = converter.from_bytes(s);
Explication
Ce code utilise les fonctions standard de la bibliothèque pour effectuer le conversion.
En utilisant cette conversion d'encodage, les caractères Unicode d'origine dans s sont conservés avec précision dans ws.
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!