如何使用c#语言呈现带有5位数(十六进制)的字符Unicode

ida*_*dan 1 c#

我想在屏幕上打印一个带有5个十六进制数字的Unicode字符(例如,将其写在Windows窗体按钮上).

例如,Ace Heart角色的Unicode是1F0B1.我尝试过,\x但最多可以显示4位数.

Jon*_*eet 7

您可以使用\U转义序列:

string text = "Ace of hearts: \U0001f0b1";
Run Code Online (Sandbox Code Playgroud)

当然,你必须使用支持该角色的字体......

顺便说一句,我强烈建议避免使用\x转义序列,因为它们难以阅读.例如:

string good = "Bell: \x7Good compiler";
string bad = "Bell: \x7Bad compiler";
Run Code Online (Sandbox Code Playgroud)

当一起呈现时,乍一看似乎这些都是"Bell:"后跟U + 0007,后跟"Good compiler"或"Bad"编译器......但是因为"Bad"完全由有效的十六进制字符组成,第二个字符串实际上是"Bell:",然后是U + 7BAD,后跟"编译器".