Android表情符号问题(将“\uD83D\uDE04”转换为0x1F604)

Jac*_*ite 1 android emoji

我可以通过这种方式在textview中显示表情符号如何在android textview中通过unicode设置表情符号,但是如何将“uD83D \ uDE04”之类的内容转换为代码点0x1F604(“uD83D \ uDE04”代表0x1F604)?

Gow*_*mar 5

做这样的事情。

将 UTF-16 转换为 UTF-8

String text = new String("uD83D\uDE04".getBytes(), StandardCharsets.UTF_8);
Run Code Online (Sandbox Code Playgroud)

获取代码点

int codepoint = text.codePointAt(0);
Run Code Online (Sandbox Code Playgroud)

将其转换为 Unicode

String yourUnicode="U+"+Integer.toHexString(codepoint)
Run Code Online (Sandbox Code Playgroud)