【发布时间】:2013-07-02 16:24:27
【问题描述】:
C++11 标准中的第 2.14.5p9 段说(强调我的):
以 u 开头的字符串文字,例如 u"asdf",是 char16_t 字符串字面量。 char16_t 字符串文字的类型为“n const 数组 char16_t”,其中 n 是字符串的大小,定义如下;它有 静态存储持续时间,并使用给定的字符进行初始化。 单个 c-char 可能会在 代理对的形式。
如何编码 unicode 点 U+10000,它由 char16_t 字符串文字中的代理对 D800(高代理)和 DC00(低代理)组成?
上面引用文字中提到的c-char是什么意思?
【问题讨论】:
-
如果你想明确指定代码单元,你也可以写
char16_t s[] = {0xD800, 0xDC00, 0}。