Tôi biết rằng để có được một ký tự unicode trong C++ Tôi có thể làm:Làm cách nào để lặp qua các ký tự unicode trong C++?
std::wstring str = L"\u4FF0";
Tuy nhiên, những gì nếu tôi muốn có được tất cả các nhân vật trong phạm vi 4FF0 để 5FF0? Có thể tự động xây dựng một ký tự unicode?
for (int i = 20464; i < 24560; i++ { // From 4FF0 to 5FF0
std::wstring str = L"\u" + hexa(i); // build the unicode character
// do something with str
}
Làm thế nào tôi sẽ làm điều đó trong C++: một cái gì đó giống như pseudo-code này những gì tôi có trong tâm trí là gì?
Có một giải pháp dễ dàng để codepoints> 0xffff? –
@Captain Giraffe, nếu loại wchar_t của bạn lớn hơn 16 bit thì sẽ không có vấn đề gì. Nếu không, bạn phải chia thành hai ký tự wchar_t theo quy tắc [UTF-16] (http://en.wikipedia.org/wiki/Utf-16). –
Nếu hôm nay là ngày hôm qua, kiểu này sẽ được gọi là byte, chứ không phải char =) Đồng thời, từ "lò xo" đến tâm trí –