【发布时间】:2016-08-16 14:32:08
【问题描述】:
我正在开发一个简单的 java 程序,它可以接受这样的字符串:
⛔️????✋STOP✋????⛔️ ????你违反了????????法律!???? ????????但现在...???????? ??????你
并用适当的 java 字符替换每个表情符号。 (我不知道该怎么称呼他们)。
这是一个例子:
汽车表情符号:????将替换为:"\\uD83D\\uDE97"。
这允许我有一个字符串,例如
"I am a car: \uD83D\uDE97"
在Java源代码中,让它看起来像这样:
我可以通过这样做轻松地为一种表情符号做到这一点:
emojistring = emojistring.replace("????", "\uD83D\uDE97");
问题是我将翻译字符串,就像我的示例字符串一样,它会有很多不同类型的表情符号。
我不想为字符串中的每一种表情符号都写一个emojistring.replace("Emoji","Java Character")。
是否有自动检测字符串中的表情符号并将其替换为相关 java 代码的方法?
【问题讨论】:
-
我认为这里有些混乱。 Java 已经将补充字符存储为 UTF-16 代理对。写
"????"与写"\uD83D\uDE97"完全相同。你的 emojistring.replace 调用什么都不做。 -
@VGR 哎呀,修复了。
-
@f_puras 这不是重复的。如果您转到每个帖子的底部,所提出的问题会有所不同。