【发布时间】:2012-11-06 20:25:51
【问题描述】:
来自Wikipedia:
为了增强 C++ 编译器对 Unicode 的支持,已将 char 类型的定义修改为至少存储 UTF-8 的 8 位编码所需的大小。
我想知道这对于编写可移植应用程序究竟意味着什么。写这个有什么区别吗
const char[] str = "Test String";
还是这个?
const char[] str = u8"Test String";
是否有任何理由不对代码中的每个字符串文字使用后者?
当 TestString 中有非 ASCII 字符时会发生什么?
【问题讨论】:
-
其中一个字符串是 UTF-8,另一个可以是任何字符串,例如 EBCDIC。
标签: c++ utf-8 c++11 literals string-literals