如何解决Visual Studio“字符集配置”和编码方案的关系?
正如微软所说:
多字节字符集,尤其是双字节字符集 (DBCS)。多字节字符集提供了一种表示多种亚洲语言中大量字符的方法。
DBCS 代码页用于日语和中文等语言。在这样的代码页中,一些字符有两个字节的编码
因此,基于上述,我得出了矛盾的结果:(4 个所有可能的案例中有 2 个,我在 4 个案例中的 3 个下有三个问题)
所以案例 1(矛盾):
string chineseString = "我是路人";
但是编译器说:
警告 C4566: 由通用字符名称 '\u6211' 表示的字符无法在当前代码页 (1252) 中表示
这与配置本身相矛盾,因为 1252 只是西方语言编码。这里不是应该使用 MBCS/DBCS 吗?
案例 2(可以理解,不矛盾):
- 我选择“使用 Unicode 字符集”
现在我假设我必须指定一个编码,所以我会这样做:
string chineseString = u8"我是路人"
这对我有用且有意义。
案例 3(矛盾):
- 我选择“使用多字节字符集”:
wstring chineseStringW = L"我是路人"
所以现在是使用编码DBCS吗?如果是这样,为什么 string
不选择 DBCS?还是仅仅因为 \u6211
适合 wchar_t
?
案例 4:
- 我选择“使用 Unicode 字符集”:
wstring chineseStringW = L"我是路人"
那么现在编码是UTF16-LE了吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。