如何在java中使用高阶unicode字符?

Nik*_*s R 2 java unicode

如何在Java中使用unicode字符,如Negative Squared Latin Capital Letter E?使用"\u1F174"不起作用,因为\u转义只接受4个十六进制数字.

Jon*_*eet 5

您需要将其指定为代理对 - 两个UTF-16代码单元.

例如,如果将字符复制并粘贴到我的Unicode浏览器中,则可以看到U + 1F174以UTF-16代码单位表示为U + D83C U + DD74.(当然,你可以手动解决这个问题.)所以你可以用Java字符串文字来编写它:

String text = "\uD83C\uDD74";
Run Code Online (Sandbox Code Playgroud)

其他选择包括:

String text = new StringBuilder().appendCodePoint(0x1f174).toString();
String text = new String(new int[] { 0x1f174 }, 0, 1);
char[] chars = Character.toChars(0x1f174);
Run Code Online (Sandbox Code Playgroud)