如何在Java中使用高阶Unicode字符?

3
2个回答

6

您需要将其指定为代理对-两个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);

有一个 Character.toChars() 方法。 - fge

1
"\uD83C\uDD74"

或者确切地说

""

由于Java字符表示的是UTF-16单元而不是实际的Unicode字符,因此您需要将其表示为一个字符串,该字符串将具有两个UTF-16代理项。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接