2011-09-27 3 views
5

Comment utiliser unicode en C++? Im au courant de wchar_t et wchar_t*, mais je veux savoir comment vous pouvez attribuer une valeur en utilisant uniquement les valeurs Unicode, semblable à la façon dont un personnage peut être attribué en assimilant la variable à la valeur ASCII:Utilisation des valeurs de caractères UNICODE en C++

char a = 92; 

Im uysing la Compilateur MinGW, si cela fait une différence.

+1

11 C++ prend en charge les littéraux unicode et types. http://en.wikipedia.org/wiki/C%2B%2B11#New_string_literals – Pubby

Répondre

2

exactement de la même façon:

wchar_t a = 97; 
wchar_t xi = 0x03be; // ξ 
+1

+1 pour l'utilisation d'un caractère non-ASCII. –

+0

Selon ce document, http://unicode.org/charts/PDF/U2070.pdf, superscript (2) a le nombre 2071. Qu'est-ce que c'est en nombres entiers? La conversion de hexadécimal en int fait toujours planter – viraj

+0

@viraj au risque d'être appelé perfectionniste, un 'int' nous dit que c'est un nombre sans partie fractionnaire. Cependant, ce que vous pouvez être en train de parler des nombres base10, en passant de hexadécimal (base16) à base10. –

9

Il peut être aussi simple que:

wchar_t a=L'a'; 
wchar_t hello_world[]=L"Hello World"; 

// Or if you really want it to be (old school) C++ and not C 

std::wstring s(L"Hello World"); 

// Or if you want to (be bleeding edge and) use C++11 

std::u16string s16(u"Hello World"); 
std::u32string s32(U"Hello World for the ∞ᵗʰ time"); 
Questions connexes