如何将这样的表情符号转换为文本?我的意思是将幸福的面孔转换为“快乐”等字样。使用Java,我该如何实现?
答案 0 :(得分:6)
您可以使用emoji4j库。
String text = "A , and a became friends❤️. For 's birthday party, they all had s, s, s and .";
EmojiUtils.shortCodify(text); //returns A :cat:, :dog: and a :mouse: became friends:heart:. For :dog:'s birthday party, they all had :hamburger:s, :fries:s, :cookie:s and :cake:.
答案 1 :(得分:0)
由于表情符号只是标准的Unicode代码点(U+1F601
,请参阅here),最好的方法是设置一个将其转换为字符串的地图。
举例来说,这是一段代码,它创建了一个字符串到字符串的映射,以便您查找并转换该确切的代码点:
import java.util.HashMap;
import java.util.Map;
class Xyzzy {
public static Map<String,String> xlat = new HashMap<String, String>();
public static void main (String[] args) {
xlat.put("\uD83D\uDE01", "happy");
System.out.println(xlat.get("\uD83D\uDE01"));
}
}
您可以根据需要向地图添加任意数量的代码点,并使用Map.get()
提取其中任何代码点的等效文本。