Unicode特殊字符不在标签中显示

use*_*197 5 c# unicode console-application unicode-string winforms

我想打印那种角色,但我不明白,我认为c#支持unicode.

我解决它的方式:

label3.Text = "\u1F6B5";
Run Code Online (Sandbox Code Playgroud)

这不是唯一的符号,它不起作用.

谢谢.

Han*_*ant 6

  label3.Text = "\u1F6B5";
Run Code Online (Sandbox Code Playgroud)

\u逃逸只需要4个十六进制数字,你要使用5.所以,你最终与包含两个字符"\ u1F6B"和"5"的字符串.看起来像"Ὣ5",而不是你想要的.

使用来自高位平面的代码点(代码> = 0x10000)需要大写U才能正确编码为字符串文字.固定:

  label3.Text = "\U0001F6B5";
Run Code Online (Sandbox Code Playgroud)

机器还需要包含字形的字体.当你看到一个矩形时,你会知道它丢失了.