格式为\ Unnnnnnnn的Unicode代码点

时间:2014-01-20 18:12:49

标签: c unicode

在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代码点应该代表什么吗?指向一个像雪人一样有效的角色?

1 个答案:

答案 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