Je viens de faire quelques tests réussis avec ICU en C/C++. J'ai besoin d'analyser différents fichiers CSV avec des encodages différents (peut-être UTF-8, UTF-16LE,), faire quelques modifications sur les données et enfin tout sortir en UTF-8 dans un fichier. C'est pourquoi mon choix est tombé pour ICU. La détection des jeux de caractères fonctionne généralement bien, la gestion des caractères et la conversion en UTF-8 aussi.C++ utilisant ICU et Nana GUI Library - Conversion de chaîne?
Maintenant, je voulais intégrer cette partie de la bibliothèque qui fait le chargement CSV, la manipulation et ainsi de suite avec une bibliothèque GUI, Nana. Nana semble utiliser std :: string et std :: wstring.
Comme ICU stocke toutes les données en interne sous la forme UTF-16, donc j'ai obtenu UChars ou UnicodeStrings lorsque je travaille avec ICU. Mais comment pourrais-je utiliser l'un ou l'autre avec Nana, qui ne s'intègre pas avec ICU? Un moyen de transformer les tableaux UChar en wstring, ou un UnicodeString en wstring?
Vous n'avez trouvé aucun indice dans la documentation de l'ICU, alors ... peut-être que quelqu'un d'autre a déjà travaillé dessus?
Bonjour à tous! Je vais tester ces fonctions de l'ICU bien sûr. Je viens de trouver des fonctions de ICU comme 'u_strToWCS' qui permet de convertir l'UChar * en un wchar_t *, donc je suis presque sûr que cela fonctionne. Je ferai aussi des expériences avec static_cast et je vous dirai ce qui se passe. Mon attente est que cela va bien fonctionner sur Windows, mais sur la plate-forme Unix/Linux ... –
inzanez
vous devrez peut-être ajouter un terminal 0 à votre chaîne UChar *? – qPCR4vir
Cela dépend.Habituellement, lorsque vous travaillez avec des fonctions de manipulation de chaînes dans ICU, il est ajouté par la fonction (comme u_sprintf ou similaire). Sinon oui, vous devrez l'ajouter vous-même. – inzanez