2011-09-27 49 views
5

Làm thế nào để bạn sử dụng unicode trong C++? Im biết wchar_twchar_t* nhưng tôi muốn biết làm thế nào bạn có thể gán giá trị sử dụng chỉ giá trị Unicode, tương tự như cách một nhân vật có thể được gán bằng cách cân bằng biến với giá trị ASCII:Sử dụng giá trị ký tự UNICODE trong C++

char a = 92; 

Im uysing sự Trình biên dịch MinGW, nếu nó tạo ra sự khác biệt.

+1

C++ 11 hỗ trợ literals unicode và các loại. http://en.wikipedia.org/wiki/C%2B%2B11#New_string_literals – Pubby

Trả lời

2

chính xác theo cùng một cách:

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

+1 để sử dụng ký tự không phải ASCII. –

+0

Theo tài liệu này, http://unicode.org/charts/PDF/U2070.pdf, chữ số (2) có số 2071. Đây là số nguyên nào? Chuyển đổi từ thập lục phân sang int vẫn làm cho nó bị lỗi – viraj

+0

@viraj có nguy cơ bị gọi là cầu toàn, một 'int' cho chúng ta biết rằng đó là một số không có phần phân đoạn. Tuy nhiên những gì bạn có thể nói về là số base10, chuyển đổi từ hệ thập lục phân (base16) thành base10. –

9

Nó có thể đơn giản như:

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"); 
Các vấn đề liên quan