我已经看过其他一些有关此问题的文章,但是找不到有关如何以编程方式确定一个代码点是否使用一个以上2个字节(在Windows上)wchar_t的任何详细信息。

一个例子:

const wchar_t* s2 = L"\U0002008A"; // The "Han" character
std::wstring in(s2);               // length() == 2

我想知道如何确定一个字符何时具有length()> 1。

最佳答案

U + FFFF之上的任何代码点都会在其UTF-16编码中使用代理。代理值在D800-DFFF范围内。

关于c++ - 如何判断wchar_t是否具有代理(UTF-16)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16088447/

10-09 06:23
查看更多