我有一個列表,其中包含以UTF-8字符編碼的WhatsApp表情符號。我用來解碼錶情符號的表格位於http://apps.timwhitlock.info/emoji/tables/unicode如何將utf-8字符串顯示/轉換爲正確的符號
有了這張表格,我正在計算使用正則表達式的表情符號的數量,我已經成功地使用了正則表達式技術。問題是我創建了一個字典,其中的鍵是UTF-8字符作爲字符串,而key_values是整數。下面:如果我用這個代碼
{'\\xF0\\x9F\\x98\\xA2': 2, '\\xF0\\x9F\\x98\\x82': 1, '\\xF0\\x9F\\x98\\x86': 2, '\\xF0\\x9F\\x98\\x89': 1, '\\xF0\\x9F\\x8D\\xB5': 2, '\\xF0\\x9F\\x8D\\xB0': 4, '\\xF0\\x9F\\x8D\\xAB': 2, '\\xF0\\x9F\\x8D\\xA9': 2, '\\xF0\\x9F\\x98\\x98': 1, '\\xE2\\x98\\xBA': 33, '\\xE2\\x98\\x95': 1}
\xF0\x9F\x98\xA2 2
\xF0\x9F\x98\x82 1
\xF0\x9F\x98\x86 2
\xF0\x9F\x98\x89 1
\xF0\x9F\x8D\xB5 2
\xF0\x9F\x8D\xB0 4
\xF0\x9F\x8D\xAB 2
\xF0\x9F\x8D\xA9 2
\xF0\x9F\x98\x98 1
\xE2\x98\xBA 33
\xE2\x98\x95 1
:
for k, v in d_emo.items():
print k.encode('utf-8').decode('unicode_escape'), v
我得到
ð¢ 2
ð 1
ð 2
ð 1
ðµ 2
ð° 4
ð« 2
ð© 2
ð 1
⺠33
â 1
我應該得到笑臉和
print d_emo
for k, v in d_emo.items():
print k.encode('utf8'), v
,輸出結果類似。有什麼建議麼?這是在Python 2.7中。
你是否在使用一個包含表情圖標所有字形的字體? –
@RobbyCornelissen是的。當我使用* .readlines()和print *來讀取原始文本文件時,它會顯示正確的表情 – superhero
輸入是什麼(顯示'print repr(your_input)')?你的問題顯示的不是utf-8數據。 – jfs