在Python中将unicode表情符号转换为ASCII表情符号

时间:2018-09-03 18:44:37

标签: python unicode nlp emoji emoticons

有没有一种方法可以将Unicode表情符号转换为Python中合适的ASCII表情符号?我知道emoji library可用于将Unicode表情符号转换为:crying_face:之类的东西。但是我需要将其转换为:'(

是否有一种优雅的方法无需手动翻译所有可能的表情符号?另一种选择是将ascii表情符号也转换为它们的文本表示形式,即:'(应该变成:crying_face:。

我的中间目标是找到一种将ASCII和Unicode表情符号转换为通用表示形式的方法。我的最终目标是将表情符号(无论是unicode还是ascii)替换为它们所代表的情感(如果它们不代表情感,则将其删除)

1 个答案:

答案 0 :(得分:2)

我发现这些存储库具有巨大的表情符号数据库以及text属性(您需要什么):

https://github.com/alexmick/emoji-data-python

https://github.com/iamcal/emoji-data(这是原始内容。python似乎是对此的包装)

您可以通过浏览回购中的示例找到更多信息。来自 对于python版本,您可以使用正式的Unicode名称/十六进制代码来获取EmojiChar对象:

In [31]: grin = emoji_data_python.find_by_name("GRINNING FACE")

In [32]: grin
Out[32]:
[EmojiChar("GRINNING FACE"),
 EmojiChar("GRINNING FACE WITH SMILING EYES"),
 EmojiChar("GRINNING FACE WITH STAR EYES"),
 EmojiChar("GRINNING FACE WITH ONE LARGE AND ONE SMALL EYE")]

In [33]: grin[0].text
Out[33]: ':D'