2016-08-05 2 views
5

Я хотел бы напечатать Emojis из питона (3) ЦСИPython3 ГКЗ кодировки Emojis

Я работаю над проектом, который анализирует Facebook Message histories и в файле сырых данных HTM скачал я нахожу много emojis отображаются как поля с вопросительными знаками, как это происходит, когда значение не отображается. Если я скопирую эти символы в терминал как строки, я получаю такие значения, как \U000fe328. Это также вывод, который я получаю, когда я запускаю htm-файлы через BeautifulSoup и вывод данных.

I Googled эта строка (и другие), и последовательно один из единственных сайтов, которые приходят с ними, - iemoji.com, в случае строки выше this page, которая перечисляет строку как Python Src. Я хочу, чтобы иметь возможность распечатывать эти строки в качестве их соответствующих emojis (в конце концов, они были оригинально emojis при обмене сообщениями), и после осмотра я обнаружил сопоставление src-кодировок at this page, которые отображали приведенные выше строки как имена строк emoji , Затем я нашел список this emoji string names to Unicode, который по большей части, похоже, отображает имена emoji в Unicode. Если я попробую распечатать эти значения, я получаю хороший результат. Как следующего

>>> print(u'\U0001F624') 

Есть ли способ, чтобы отобразить эти «Python» ГНЦ кодировки в их значение Юникода? Связывание обеих библиотек будет работать, если не для того, чтобы исходное сопоставление src отсутствовало около 50% значений unicode, найденных в библиотеке юникода. И если мне все-таки придется это сделать, есть ли хороший способ найти значение Python Src данного эмози? Из моего тестирования emoji, как строки, равны их Unicode, например '' == u'\U0001F624', но я никак не могу получить какие-либо отношения к \U000fe328

+1

'u '\ U0001F624'' ==' ''', который является персонажем частного использования. Я предполагаю, что Facebook messenger использует это как emoji, который не определен в стандарте Unicode. – roeland

+0

Но должна быть какая-то система? Почти каждый из кодировок Src или персонажей частного использования ссылался на emoji на iemoji.om. Есть ли способ автоматизировать получение этой информации без соскабливания сайта? –

ответ

2

Это не имеет ничего общего с Python. Выход вроде \U000fe328 просто содержит шестнадцатеричное представление кодовой точки, поэтому этот номер U+0FE328 (который является персонажем частного использования).

В настоящее время множество эможи назначаются кодам, например. есть U+01F624 — FACE WITH LOOK OF TRIUMPH.

Прежде, чем они были назначены, различные программы использовали различные коды в private use ranges для представления эможи. Facebook, очевидно, использовал персональный персональный код U+0FE328. Отображение из этих кодовых точек в стандартные кодовые точки произвольно. Некоторые из них могут вообще не иметь стандартного эквивалента.

Так что вам нужно искать таблицу, в которой указывается, какие из этих старых назначений соответствуют стандартной точке кода.

На GitHub есть php-emoji, который, как представляется, содержит эти сопоставления. Но учтите, что это PHP-код, и символы представлены как UTF-8 (например, вышеприведенный символ будет "\xf3\xbe\x8c\xa8").

+0

Спасибо, ты ответил на мой вопрос. Проект php-emoji выглядит так, будто это может быть решение. Я просто преобразую символы UTF-8 в unicode и использую это сопоставление (для тех, кто читает, [это] (http://stackoverflow.com/questions/6812031/how-to-make-unicode-string-with-python3) как вы конвертируете в unicode) –

Смежные вопросы