我正在使用一个C++库,并需要从UTF-8代码点创建一个无符号字符。例如,如果代码点是十进制610(一个“拉丁字母小型大写G”),我该如何在C++中创建它?
在javascript中,我可以执行以下操作:
var temp = String.fromCharCode(610);
console.log(temp); // Outputs a small 'G' (correct)
var codePoint = temp.charCodeAt(0);
console.log(codePoint); // Outputs 610 (correct)
在C++中尝试过:
unsigned char temp = (unsigned char)610;
// compiles, but
Debug::WriteLine((int)temp); // outputs 98 (??)
请提供一个C++代码示例,以执行与上面的javascript示例相同的操作。
环境是托管C++,但我想避免使用CLR类型,因为我正在与第三方库进行接口交互。
Debug
的类型是什么?Debug
是否识别 UTF?因为 C++ 的输出流不支持 UTF,所以你需要一个库来处理 UTF,特别是 UTF8。 - Mooing Duckunsigned char
只能保证存储值到 255;而 Unicode 码点可以更大。你的问题没有被清楚地陈述。 - Kerrek SB