是定义UNICODE时使用UTF-16 CString的MFC应用程序

问题描述:

我知道如果我们定义UNICODE,CString使用WCHAR。 但是,它是UTF-16编码吗? 有没有官方的参考? 我试图在CString中找到一个字符的unicode codepoint值。是定义UNICODE时使用UTF-16 CString的MFC应用程序

是的,它是UTF-16编码,因为Windows本身是基于UTF-16的。我不确定是否有任何明确说明的文档。

请注意,对于任何高于0xffff的代码点,特别是表情符号,代码点需要CString中的两个字符。这被称为代理对。

+0

显式地在这里:https://msdn.microsoft.com/en-us/library/windows/desktop/dd374081(v=vs.85).aspx –

+0

@JoeWillcoxson感谢您的链接,这将详细介绍Windows使用什么。我的评论更专注于'CString'。 –