首页 > 解决方案 > Visual Studio“字符集配置”与编码方案的关系?

问题描述

正如微软所说:

多字节字符集,特别是双字节字符集 (DBCS)。多字节字符集提供了一种表示许多亚洲语言中大量字符的方法。

DBCS 代码页用于日语和中文等语言。在这样的代码页中,某些字符具有两字节编码

因此,基于上述情况,我得到了相互矛盾的结果:(所有可能的情况中有 2 个,并且在 4 个中的 3 个案例中我有 3 个问题)

所以案例1(合同):

string chineseString = "我是路人";

但编译器却说:

警告 C4566:由通用字符名称“\u6211”表示的字符无法在当前代码页中表示 (1252)

这与配置本身相矛盾,因为 1252 只是西方语言编码。不应该在这里使用 MBCS/DBCS 吗?

案例2(可以理解,不矛盾):

现在我假设我必须指定一个编码,所以我会这样做:

string chineseString = u8"我是路人"

这对我有用并且有意义。

案例3(合同纠纷):

那么现在是使用编码 DBCS 吗?如果是这样,为什么string不拿起DBCS?或者只是因为\u6211适合wchar_t

案例4:

那么现在是UTF16-LE编码吗?

标签: visual-studiounicodemultibyte-characters

解决方案


推荐阅读