如何在 Java 中使用 Unicode 字符,例如 Negative Squared Latin Capital Letter E?使用 "\u1F174"
不起作用,因为 \u
转义只接受 4 个十六进制数字。
如何在 Java 中使用 Unicode 字符,例如 Negative Squared Latin Capital Letter E?使用 "\u1F174"
不起作用,因为 \u
转义只接受 4 个十六进制数字。
您需要将其指定为代理对-两个UTF-16代码单元。
例如,如果您将该字符复制并粘贴到我的Unicode浏览器中,您可以看到U+1F174表示为UTF-16代码单元U+D83C U+DD74。(当然,您也可以手动计算。) 因此,您可以在Java字符串文字中将其写成:
String text = "\uD83C\uDD74";
String text = new StringBuilder().appendCodePoint(0x1f174).toString();
String text = new String(new int[] { 0x1f174 }, 0, 1);
char[] chars = Character.toChars(0x1f174);
"\uD83C\uDD74"
或者确切地说
""
由于Java字符表示的是UTF-16单元而不是实际的Unicode字符,因此您需要将其表示为一个字符串,该字符串将具有两个UTF-16代理项。
Character.toChars()
方法。 - fge