是在定义 UNICODE 时对 CString 使用 UTF-16 的 MFC 应用程序
Posted
技术标签:
【中文标题】是在定义 UNICODE 时对 CString 使用 UTF-16 的 MFC 应用程序【英文标题】:is MFC application using UTF-16 for CString when UNICODE is defined 【发布时间】:2017-05-17 22:08:56 【问题描述】:如果我们定义 UNICODE,我知道 CString 使用 WCHAR。 但是,它是 UTF-16 编码的吗? 有官方参考吗? 我正在尝试在 CString 中查找字符的 unicode 代码点值。
【问题讨论】:
【参考方案1】:是的,它是 UTF-16 编码的,因为 Windows 本身是基于 UTF-16 的。我不确定是否有任何文件可以明确说明。
请注意,对于任何高于 0xffff 的代码点,尤其是表情符号,代码点将需要 CString 中的两个字符。这称为代理对。
【讨论】:
这里明确表示:msdn.microsoft.com/en-us/library/windows/desktop/… @JoeWillcoxson 感谢您的链接,该链接详细介绍了 Windows 使用的内容。我的评论更多的是关于CString
。以上是关于是在定义 UNICODE 时对 CString 使用 UTF-16 的 MFC 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
Cstring与char*String转Cstring(unicode编码)