如何判断wchar_t是否有代理(UTF-16)?

时间:2013-04-18 16:31:08

标签: c++ unicode utf-16 wchar-t multibyte-functions

我在这个问题上看到了一些其他帖子,但是如果代码点使用多个2字节(在Windows上)wchar_t,则无法找到有关如何以编程方式确定的任何详细信息。

一个例子:

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

我想知道如何确定角色的长度()> 1。

1 个答案:

答案 0 :(得分:4)

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