在Python中将字符串转换为表情符号

UGe*_*rge 3 unicode encoding utf-8 python-3.x

我有一个傻瓜集合,我想检查其中的表情符号,但看起来该集合的编写过程转换了字符串中的所有表情符号,例如文本中的“”是“:-)”,“”是“:D”等等所有表情符号。如果我们尝试检查它们的 unicode 代码点,我们会同时得到':-)'.encode('utf-8')等于等于,并且相等检查失败。使用:等于并且是。那么有什么方法可以将“:-)”等文本表示转换回表情符号“”。b':-)'''.encode('utf-8')'b'\xf0\x9f\x98\x8autf-16':-)'.encode('utf-16')b'\xff\xfe:\x00-\x00)\x00'''.encode('utf-16')b'\xff\xfe=\xd8\n\xde'

Jos*_*efZ 5

使用字典将任何文本表情符号转换回表情符号,如下所示:

>>> 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'] )

>>>
Run Code Online (Sandbox Code Playgroud)

不幸的是,至少还剩下两个任务: