首页 > 解决方案 > 在 Python 中将 unicode emojis 转换为 ascii emojis

问题描述

有没有办法将 unicode 表情符号转换为 Python 中适当的 ascii 表情符号?我知道emoji 库 可以用来将 unicode emojis 转换为类似 :crying_face: 的东西。但我需要将其转换为:'(

有没有一种优雅的方法可以做到这一点,而不必手动翻译每一个可能的表情符号?另一种选择是将ascii emojis也转换为它们的文本表示,即:'(应该变成:crying_face:。

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

标签: pythonunicodenlpemojiemoticons

解决方案


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

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

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

您可以通过浏览 repos 中的示例来了解更多信息。从对于 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'

推荐阅读