2011-09-27 25 views
5

C++ dilinde nasıl unicode kullanıyorsunuz? uysingC++ içinde UNICODE karakter değerlerini kullanma

char a = 92; 

Im: wchar_t ve wchar_t* farkında Im ama bir karakter ASCII değerine değişkeni eşitleyerek atanabilir benzer şekilde yalnızca Unicode Değerler kullanarak değeri atayabilirsiniz nasıl bilmek istiyorum MinGW derleyici, fark yaratırsa.

+1

C++ 11 Unicode dizgelerini ve türlerini destekler. ASCII olmayan bir karakter kullanmak için http://en.wikipedia.org/wiki/C%2B%2B11#New_string_literals – Pubby

cevap

2

Tam aynı şekilde:

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

+1. –

+0

Bu belgeye göre, http://unicode.org/charts/PDF/U2070.pdf, Üstyazı (2) numarası 2071'dir. Tamsayılarda nedir? Onaltılıktan int'ye dönüştürülmesi, – viraj

+0

@viraj'ın mükemmeliyetçi olarak adlandırılma riskine yol açmasını sağlar; bir “int” bize kesirli olmayan bir sayı olduğunu belirtir. Ancak, bahsettiğiniz şey onaltılık (base16) 'dan base10' a dönüşen base10 sayılarıdır. –

9

Bu kadar basit olabilir:

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"); 
İlgili konular