【发布时间】:2014-06-10 15:30:31
【问题描述】:
我知道 C++ 中的char 只是一个整数类型,它将 ASCII 符号存储为范围从 0 到 127 的数字。斯堪的纳维亚字母 'æ'、'ø' 和 'å' 不在 128 个符号中ASCII 表。
所以很自然,当我尝试char ch1 = 'ø' 时,我得到一个编译器错误,但是string str = "øæå" 工作正常,即使一个字符串使用了chars right?
string 是否会以某种方式切换到 Unicode?p>
【问题讨论】:
-
你应该指定你得到的什么错误。
-
您可以使用明确的
char ch1 = u'ø'或char ch1 = U'ø'解决编译器错误
标签: c++ string character-encoding char non-ascii-characters