c++ - ISO/IEC 10646 中的 "character short name"是什么?

标签 c++ unicode c++11

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/

相关文章:

c++ - 我如何在这个循环中使用 openMP?

ruby 1.9 : Convert byte array to string with multibyte UTF-8 characters

c++ - C++11 上的嵌套类成员访问

c++ - 如果使用返回引用的函数初始化 'auto' var,为什么它不声明引用类型?

c++ - 从 QML 动态创建 C++ 对象

c++ - 如何限制一个抽象类对另一个抽象类及其子类的访问?

c++ - 如何通过 boost asio 支持 TCP 服务器中的多个连接

c - 使用 fputc() 写入一个字节

unicode - unicode.RangeTable 如何工作?

c++ - 返回对类的引用