2017-07-04 4 views
2

私はtwitsのコレクションを持っていますが、emojisをチェックしたいのですが、コレクションの書き込み手順のように見えます。テキストと ''は ':D'など、すべての絵文字を含む。ユニコードコードポイントをチェックしようとすると、同じ時刻に':-)'.encode('utf-8')b':-)'になり、''.encode('utf-8')'b'\xf0\x9f\x98\x8aに等しくなり、等価チェックに失敗します。 utf-16':-)'.encode('utf-16')を使用すると、b'\xff\xfe:\x00-\x00)\x00'になり、''.encode('utf-16')b'\xff\xfe=\xd8\n\xde'になります。だから、 ':-)'などのテキスト表現を絵文字に変換する方法はありますか?Pythonで文字列をemojiに変換する

+0

まず、正規表現で検索することです。 – Gabriel

答えて

2

dictionaryを使用して、任意のテキスト絵文字を絵文字に変換します。次のように:

残念ながら
>>> dict_emo = { ':-)' : b'\xf0\x9f\x98\x8a', 
...    ':)' : b'\xf0\x9f\x98\x8a', 
...    '=)' : b'\xf0\x9f\x98\x8a', # Smile or happy 
...    ':-D' : b'\xf0\x9f\x98\x83', 
...    ':D' : b'\xf0\x9f\x98\x83', 
...    '=D' : b'\xf0\x9f\x98\x83', # Big smile 
...    '>:-(' : b'\xF0\x9F\x98\xA0', 
...    '>:-o' : b'\xF0\x9F\x98\xA0' # Angry face 
...    } 
>>> print(dict_emo[':)'].decode('utf-8')) 

>>> print(dict_emo['>:-('].decode('utf-8')) 

>>> print(dict_emo[':-D'].decode('utf-8')) 

>>> 
>>> 
>>> dict_emot= { ':-)' : b'\xf0\x9f\x98\x8a'.decode('utf-8'), 
...    ':)' : b'\xf0\x9f\x98\x8a'.decode('utf-8'), 
...    '=)' : b'\xf0\x9f\x98\x8a'.decode('utf-8'), # Smile or happy 
...    ':-D' : b'\xf0\x9f\x98\x83'.decode('utf-8'), 
...    ':D' : b'\xf0\x9f\x98\x83'.decode('utf-8'), 
...    '=D' : b'\xf0\x9f\x98\x83'.decode('utf-8'), # Big smile 
...    '>:-(' : b'\xF0\x9F\x98\xA0'.decode('utf-8'), 
...    '>:-o' : b'\xF0\x9F\x98\xA0'.decode('utf-8') # Angry face 
...    } 
>>> print(dict_emot[':)']) 

>>> print(dict_emot['>:-o']) 

>>> print(dict_emot['=D']) 

>>> 

を、残りの少なくとも2つのタスクがあります。

+0

ありがとうございます!それは多くの助けとなりました。 – UGeorge

関連する問題