在 Android 中存储和呈现 Unicode 表情符号的最佳方式

Best Way to store and render Unicode Emojis in Android

我有一个简单的记忆游戏作为项目。对于 Memory Tiles,我想使用 Emojis。我试过这样使用它:

emojiCard.setText(new String(Character.toChars(Integer.parseInt(1F60D, 16))));

现在我只需要将 1F60D 保存到一个变量中就可以显示表情符号了。

适用于简单的表情符号,但我不能使用 "new" 表情符号,因为那时我必须使用代理对,但我不知道该怎么做。

有没有更好的方法?喜欢保存 unicode ?

抱歉,我是 android 开发的新手,已经尝试了很多东西。 谢谢

Integer.parseInt()String 作为输入,因此您可能想说 Integer.parseInt("1F60D", 16)。当您可以简单地将数字 0x1F60D 文字传递给 Character.toChars() 时,这会浪费开销。

Java 字符串使用 UTF-16 编码。当编码为 UTF-16 时,代码点 U+1F60D 使用代理项对,因此代理项不是您的问题。

假设您指的是较新的表情符号如何支持修饰符(改变它们的性别、颜色等),那么这与代理无关。您只需在基本表情符号代码点之后附加所需的修饰符代码点。例如:

emojiCard.setText(new String(Character.toChars(0x1F466)) + new String(Character.toChars(0x1F3FE)));

( + = )