2010-10-31 17 views
2

J'ai une chaîne comme ceci: "Ce sont Pi (\ u03a0) et Sigma (\ u03a3).". Comment puis-je convertir ceci pour contenir et imprimer des caractères efficaces, en utilisant des bibliothèques standard C++?Conversion UTF-8 avec les bibliothèques standard C++ (no/clr)

Cette solution http://msdn.microsoft.com/en-us/library/system.text.encoding.utf8(VS.80).aspx, utilise le framework .NET (/ clr compilation), que je veux éviter de préférer les bibliothèques standard C++.

Merci d'avance.

Répondre

2

Je ne suis pas tout à fait sûr de ce que vous entendez par "standard", mais je suppose que vous vouliez dire "non géré". Si c'est ce que vous voulez, essayez ICU. Ce n'est pas très facile à maîtriser, mais il est certainement capable de tel conversions.

BTW. Si vous voulez simplement convertir wstring codé UTF-16 en chaîne codée UTF-8, vous pouvez le faire avec l'appel API WideCharToMultiByte() (en supposant Windows).

0

Je ne sais pas s'il existe un moyen de le faire en utilisant la bibliothèque standard, même si je pense que ce n'est pas le cas. Vous pouvez cependant utiliser iconv. Cela fait partie de la bibliothèque C standard de gnus, mais il y a un windows dll available.