使用十六进制代码循环打印 Unicode 字符

Sor*_*ter 0 java string unicode hex unicode-escapes

我收到以下代码的非法 unicode 转义。

 for(int i=3400;i<4000;i++)
   System.out.println("\u" + i );
Run Code Online (Sandbox Code Playgroud)

\u3400如果我在得到输出而不是实际的 unicode 字符之前添加斜杠。

我想在循环中打印 unicode 字符。unicode 字符也是十六进制代码。如何循环访问十六进制代码并打印所有 unicode 字符。

Tag*_*eev 5

您无法"\u"在运行时连接某些内容,因为"\uXXXX"序列是在编译期间解析的。不过不需要这样做。您可以简单地将整数转换为字符并使用0x前缀来指定十六进制数字:

for(int i=0x3400;i<0x4000;i++)
    System.out.println((char)i);
Run Code Online (Sandbox Code Playgroud)