当我得到的是“U+1F602”时,如何生成像“\uD83D\uDE02”这样的表情符号unicode?

问题描述 投票:0回答:1

我目前正在 Android 中创建类似表情符号键盘的东西,它将显示表情符号列表

我不想使用图像,所以我需要Java源代码中表情符号的Unicode字符才能在字符串输出中显示表情符号。

例如

Unicode 名称:面带喜悦的泪水😂
C/C++/Java 源代码:

"\uD83D\uDE02"

http://www.fileformat.info/info/unicode/char/1f602/index.htm

我需要像这样的Java Unicode

"\uD83D\uDE02"
因为当我输出Label时

Label.setText("\uD83D\uDE02");`

它可以工作并显示

FACE WITH TEARS OF JOY 😂

我已经用谷歌搜索了这个并找到了这个列表,我只是不明白

\uD83D\uDE02
是如何生成的。

java unicode emoji
1个回答
3
投票

U+1F602
是一个 Unicode 代码点。 Java可以读取这些。

System.out.println(new StringBuilder().appendCodePoint(0x1F602).toString());

如果您确实需要将其转换为其他类型的 Unicode 字符集,您可以迭代所有字符,并将这些十六进制代码写入输出:

for(char c : new StringBuilder().appendCodePoint(0x1F602).toString().toCharArray()) {
    System.out.print("\\u" + String.valueOf(Integer.toHexString(c)));
}
System.out.println();
© www.soinside.com 2019 - 2024. All rights reserved.