2013-04-18 43 views
1

我在这个问题上看到了其他一些帖子,但无法找到任何关于如何使用编码方式确定代码点是否使用多个2字节(在Windows上)wchar_t的细节。如何判断wchar_t是否有代理(UTF-16)?

一个例子:

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

我想知道如何确定当一个字符将有一个长度()> 1.

+0

只需根据UTF-16编码(易于谷歌)检查适当的范围。你很可能不会找到更复杂的东西。 –

回答

4

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

+0

太好了,谢谢。它适合一种享受! – user2295995