C++11 2.3/2 说:
The character designated by the universal-character-name \UNNNNNNNN is that character whose character short name in ISO/IEC 10646 is NNNNNNNN
所以我下载了ISO/IEC 10646 ,但我找不到“字符短名称”的定义。有人可以澄清一下这是指什么吗?
我最初的目标是找出为什么在使用\U 指定代码点时需要 8 个十六进制数字,因为 6 个数字总是足够的。所以我也很想知道为什么 C++11 指定我们使用\UNNNNNNNN 而不是\UNNNNNN。
最佳答案
在Unicode character code charts ,每个角色都有一个全名和一个短名。例如字符 /
有全名 SOLIDUS
和短名 002F
。并非巧合的是,所有字符短名称都可以用十六进制表示。
至于为什么必须指定 8 位数字,我怀疑这是为了与可能使用更大/更多字符 block 的 Unicode 标准的 future 版本向前兼容。
关于c++ - ISO/IEC 10646 中的 "character short name"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12573805/