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

How to generate emoji unicode like "\uD83D\uDE02" when i got is "U+1F602"?

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

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

例如

Unicode 名称:喜极而泣的脸
C/C++/Java源代码:"\uD83D\uDE02"
http://www.fileformat.info/info/unicode/char/1f602/index.htm

我需要 Java 这样的 Unicode "\uD83D\uDE02" 因为当我用

输出标签时
Label.setText("\uD83D\uDE02");`

有效并显示 FACE WITH TEARS OF JOY

我已经用谷歌搜索并找到 this list,我只是不明白 \uD83D\uDE02 是如何生成的。

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

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

如果你真的需要将其转换为其他类型的 unicode scapes,你可以遍历所有字符,并将这些十六进制代码写入输出:

for(char c : new StringBuilder().appendCodePoint(0x1F602).toString().toCharArray()) {
    System.out.print("\u" + String.valueOf(Integer.toHexString(c)));
}
System.out.println();