在 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)));
( + = )
我有一个简单的记忆游戏作为项目。对于 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)));
( + = )