Перевести Unicode Emojis в ASCII Emojis в Python - PullRequest
0 голосов
/ 03 сентября 2018

Есть ли способ перевести юникод-эмодзи в соответствующий смайлик ascii в Python? Я знаю библиотеку emoji , которую можно использовать для преобразования смайликов Unicode в что-то вроде: crying_face :. Но мне нужно преобразовать его в: '(

Есть ли элегантный способ сделать это без необходимости переводить все возможные эмодзи вручную? Другим вариантом будет преобразование ascii emojis также в их текстовое представление, то есть: '(должно стать: crying_face:.

Моя промежуточная цель - найти способ преобразовать ascii и unicode emojis в общее представление. Моей конечной целью было бы заменить смайлики (неважно, юникод или ascii) на эмоции, которые они представляют (если они не представляют эмоцию, удалите их)

1 Ответ

0 голосов
/ 03 сентября 2018

Я нашел эти репозитории, которые имеют огромную базу данных смайликов вместе с атрибутом text (что вам нужно):

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

https://github.com/iamcal/emoji-data (Это оригинал. Кажется, что Python является оберткой)

Вы можете узнать больше, изучив примеры в репозиториях. От Для версии Python вы можете использовать официальное имя юникода / шестнадцатеричный код, чтобы получить объект 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'
...