【发布时间】:2018-05-22 19:25:15
【问题描述】:
我正在尝试在 python 3 中将表情符号转换为其 Unicode。例如,我将拥有表情符号 ????并由此想得到相应的 unicode 'U+1F600'。同样,我想将“U+1F600”转换回????。现在我已经阅读了文档并尝试了几个选项,但是 python 的行为在这里让我感到困惑。
>>> x = '????'
>>> y = x.encode('utf-8')
>>> y
b'\xf0\x9f\x98\x80'
表情符号被转换为字节对象。
>>> z = y.decode('utf-8')
>>> z
'????'
将字节对象转换回表情符号,到目前为止一切顺利。
现在,获取表情符号的 unicode:
>>> c = '\U0001F600'
>>> d = c.encode('utf-8')
>>> d
>>> b'\xf0\x9f\x98\x80'
这会再次打印出字节编码。
>>> d.decode('utf-8')
>>> '????'
这会再次打印表情符号。我真的不知道如何仅在 Unicode 和 emoji 之间进行转换。
【问题讨论】:
标签: python unicode formatting emoji