6.4.3 通用字符名
语法
1、通用字符名:
universal_character-name:
u hex-quad(四位十六进制数)
U hex-quad hex-quad
hex-quad:
hexadecimal-digit hexadecimal-digit hexadecimal-digit hexadecimal-digit
约束
2、一个通用字符名不应该指定一个字符,其短标识符比00A0要小,除了0024($),0040(@),0060(`)之外,也不应该在D800到DFFFF(包含两者)的范围内。[注:所不允许的字符是在基本字符集中的字符,以及编码位置在ISO/IEC 10646中用于控制字符而所保留的字符,DELETE字符和S区域(被UTF16保留使用)。]
描述
3、通用字符名可以被用在标识符、字符常量以及字符串字面量中来指派不在基本字符集中的字符。[译者注:比如:
const char *abu1fc2cd = u8"abu1fc2cd"; printf("The string is: %s ", abu1fc2cd);
结果输出:The string is: abῂcd
]
语义
4、通用字符名Unnnnnnnn指派了八位十六进制数短标识符为nnnnnnnn的字符(由ISO/IEC 10646所指定的)。[注:字符的短标识符首次在ISO/IEC 10464-1/AMD9:1997中指定。]类似地,通用字符名Unnnn指派了四位十六进制数的短标识符为nnnn的字符(其相应的八位短标识符为0000nnnn)。