在C中,我发现有两个unicode转义序列\u
和\U
\u takes the format - \unnnn
\u takes the format - \Unnnnnnnn
例如这个程序
#include<stdio.h>
int main(int argc, char* argv[]) {
printf("Unicode character for snowman : \u2603");
printf("Trying for a valid U+nnnnnnn character : \U10FFFF"); /* this will be an error as it needs U+nnnnnnnn */
}
打印第一个有效的unicode。但我找不到适合格式为U + nnnnnnnn
的代码点你能解释一下这个32位(?)Unicode代码点应该代表什么吗?指向一个像雪人一样有效的角色?
答案 0 :(得分:4)
\unnnn
只能用于“基本多语言平面”中的字符(即
最多为U + FFFF),而\Unnnnnnnn
可以表达所有可能的Unicode字符。
例如
printf("Unicode character MUSICAL SYMBOL G CLEF : \U0001D11E\n");
产生
Unicode character MUSICAL SYMBOL G CLEF :
(如果您的终端使用的字体中存在该字符)。
您可以找到所有Unicode字符的表格 在http://unicode.org。完整列表为http://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt。