2009-04-01 12 views
4

Ma base source utilise principalement UTF8, mais une bibliothèque plus ancienne contient des chaînes encodées en dur dans Windows Latin1.Comment faire pour changer le codage Latin1-UTF8 en C++ (peut-être avec Boost)?

J'espérais que Boost aurait une fonction de conversion claire, mais je ne l'ai pas trouvé. Ai-je vraiment besoin de coder à la main une solution aussi banale?

Vous cherchez une solution portable, fonctionnant sous Linux.

(This Q est similaire, mais pas tout à fait la même chose)

Edit: ICU semble être la bonne réponse, mais il est un peu trop pour mes besoins. J'ai fini par faire une chaîne de remplacement pour les quelques caractères étendus connus qui ont été utilisés.

Répondre

3

International Components for Unicode (ICU) a les solutions que vous recherchez. Boost peut être compilé avec le support pour ICU, par ex. pour booster les expressions régulières, mais les versions précompilées de Boost ne l'incluent généralement pas.

Questions connexes