Tôi đang làm việc với thư viện C++ và cần tạo một ký tự chưa được ký từ điểm mã UTF-8. Ví dụ, nếu điểm mã là decimal 610 (một 'chữ cái Latinh viết hoa nhỏ G'), làm thế nào tôi có thể tạo điều này trong C++?C++: cách tạo char chưa ký từ điểm mã UTF-8
Tôi javascript, tôi có thể làm như sau:
var temp = String.fromCharCode(610);
console.log(temp); // Outputs a small 'G' (correct)
var codePoint = temp.charCodeAt(0);
console.log(codePoint); // Outputs 610 (correct)
Trong C++ đã cố gắng:
unsigned char temp = (unsigned char)610;
// compiles, but
Debug::WriteLine((int)temp); // outputs 98 (??)
Vui lòng cung cấp một ví dụ mã trong C++ mà thực hiện giống như ví dụ javascript ở trên.
Môi trường nằm trong C++ được quản lý, nhưng tôi muốn tránh sử dụng các loại CLR khi tôi đang giao tiếp với thư viện của bên thứ ba.
loại của 'Debug' là gì? 'Debug' có nhận ra UTF không? Bởi vì C++ ostreams thì không. Bạn cần một thư viện để làm nhiều việc với UTF, đặc biệt là UTF8. –
'unsigned char' chỉ được đảm bảo giữ giá trị lên đến 255; một codepoint Unicode có thể lớn hơn nhiều. Vấn đề của bạn không được nêu rõ. –
Ah, cuộc sống sẽ dễ dàng hơn nhiều nếu có thể làm được điều này ..... –