无论如何在Java中将表情符号转换为文本?

时间:2016-01-15 01:06:15

标签: java emoji

如何将这样的表情符号转换为文本?我的意思是将幸福的面孔转换为“快乐”等字样。使用Java,我该如何实现?

2 个答案:

答案 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()提取其中任何代码点的等效文本。