Unicode UTF-8 en C++

J'ai beaucoup cherché, mais impossible de trouver quoi que ce soit:

unsigned int unicodeChar = 0x5e9;
unsigned int utf8Char;
uni2utf8(unicodeChar, utf8Char);
assert(utf8Char == 0xd7a9);

Est-il une bibliothèque (de préférence boost) qui met en œuvre quelque chose de semblable à uni2utf8?

Pour le c++11 unicode littéraux de chaîne, voir stackoverflow.com/questions/6796157/...
Ce que vous demandez n'a pas de sens et ne peut pas travailler. Il n'y a pas une telle chose comme un des caractères UTF-8. Il y a de l'UTF-8 unités de code, qui sont de 8 bits de valeurs que lorsqu'ils sont correctement décodées forme Unicode codepoint. Mais UTF-8 unités de code sont pas stockée dans unsigned ints de 32-bits. Chaque unité de code est de 8 bits; par conséquent, la façon de stocker une Unicode codepoint en UTF-8 est comme une séquence d'unités de code. Un string, pas un entier.
1. UTF8 unicode 2. utilisation nowide.
utf8 n'est pas Unicode, utf8 est une méthode pour représenter les nombres. unicode sur l'autre main est une correspondance entre les symboles des chiffres. Nombres abstraits, pas de leur représentation.

OriginalL'auteur Ezra | 2012-07-22