Как проверить и закодировать входные смайлики из Facebook Messenger?

#python #facebook #encoding #emoji

#python #Facebook #кодирование #смайлики

Вопрос:

Я создаю бота Facebook Messenger на Python. И все работает нормально. Но если я отправлю emojis текст из чата Facebook в API, тогда все пойдет не так. Это пример, когда я отправляю emojis с Facebook.

 {'message': {'mid': 'mid.1475846223244:e7eea53884', 'seq': 10863, 'text': '👍🏽'},
  

Итак received_message = message['message']['text'] .
Я хочу, чтобы всякий раз, когда я отправляю (смайлик) non text message с Facebook, я мог сканировать и кодировать его перед отправкой в свой API. Я прочитал документы, прежде чем задавать этот вопрос, но большинство из них предоставлены emojis пользователем, а не все сканером и кодируют любые emojis (если я что-то пропустил, пожалуйста, поправьте меня, потому что я новичок). Скажите, нужно ли мне обновить мой вопрос.

Комментарии:

1. Можете ли вы опубликовать repl свое значение «текст» или указать кодовую точку в Юникоде?

2. Извините, я не совсем понял ваш вопрос? значение ‘text’ — это то, что я отправляю с Facebook, и я хочу закодировать его в Юникод, если ‘text’ не является string .

Ответ №1:

Вы можете использовать сопоставление между кодовыми точками Unicode и представлением ASCII. Смотрите эту таблицу здесь: http://lolhug.com/facebook-emoticons /

Официальная таблица смайликов находится здесь: http://unicode-table.com/en/blocks/emoticons /

Библиотека Emoji может помочь вам преобразовать ваши смайлики.

Комментарии:

1. Спасибо за полезную информацию! Я попробую сейчас!

2. Вероятно, это не позволит вам выразить все доступные кодовые точки Unicode, такие как все смайлики.

Ответ №2:

Вы должны использовать экранированную версию соответствующей кодовой точки. Это метод, который позволяет выразить весь диапазон Unicode, используя только символы ASCII.

НАПРИМЕР. Смайлики 💩 могут быть представлены в Java как "uD83DuDCA9" или в Python как u"U0001F4A9" . http://www.fileformat.info/info/unicode/char/1f4a9/index.htm

ПРИМЕЧАНИЕ: некоторые смайлики состоят из нескольких кодовых точек, таких как флаги или семейства. Пожалуйста, найдите здесь полный список смайликов в Юникоде http://unicode.org/emoji/charts/full-emoji-list.html