【发布时间】:2012-09-17 09:38:28
【问题描述】:
我很难从我的 C++ 标准副本中理解宏 __STDC_ISO_10646__:
__STDC_ISO_10646__
yyyymmL 形式的整数常量(例如,199712L)。如果 此符号已定义,则需要 Unicode 中的每个字符 set,当存储在 wchar_t 类型的对象中时,具有与 该字符的短标识符。 Unicode 必需集 由 ISO/IEC 10646 定义的所有字符组成, 连同指定的所有修正和技术勘误 年和月。
据我了解,这意味着您系统上的 wchar_t 将代表一个 unicode 代码点。它是否正确?如果是这种情况,那么 utf-8 和 utf-16 编码将不符合要求,而 utf-32 将符合要求,对吗?另外,还有哪些其他字符编码符合?
【问题讨论】:
-
我对其他字符集的了解还不够多,但为什么 UTF-32 不符合?
-
@hvd:我认为我对 utf-32 的看法是错误的,你是对的,utf-32 会符合要求。