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

标签 java unicode emoji

我目前正在 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");`

它可以工作并显示面带喜悦的泪水😂

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

最佳答案

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

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

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

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

关于java - 当我得到的是 "\uD83D\uDE02"时,如何生成像 "U+1F602"这样的表情符号 unicode ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49787311/

相关文章:

ruby - 处理 4 字节 Unicode 表情符号时 ruby​​ JSON 库中存在错误?

objective-c - 尝试使用 StringWithFormat 在 UILabel 中显示表情符号

java - 在 netbeans 中调试不起作用

java - 处理 Java 字符串中的 Unicode 代理值

r - 使用 unicode 字符作为形状

python - 氟奋乃静读作\xef\xac\x82uphenazine

javascript - 表情符号到/来自 Javascript 中的代码点

java - 详尽地讲,Java 是如何确定您的类路径的?

java - 从 hibernate 迁移到另一个 ORM 工具

java - 如果发生异常则退出 Java Callable