我有一个简单的python脚本,可以获取推文的文本。
然而,表情符号是以某种方式编码的,因此它们在输出\ xf0 \ x9f \ x90 \ xa3中看起来像这样。
有没有办法从这个输出中找出这是什么表情符号?
答案 0 :(得分:1)
赔率是UTF-8编码(与其他数据一起,只是ASCII文本恰好以ASCII和UTF-8呈现)。
如果您有bytes
b'\xf0\x9f\x90\xa3'
,请执行以下操作:
b = b'\xf0\x9f\x90\xa3'
txt = b.decode('utf-8')
如果您将其作为str
收到,则这可能是错误的解码为latin-1
或其他一些代码页,因此只需撤消它并使用UTF-8重做:
b = '\xf0\x9f\x90\xa3'
txt = b.encode('latin-1').decode('utf-8')
# If it's not latin-1, could be sys.getdefaultencoding()
得到序数为0x1f423(我的电脑无法显示它,或者我已经在这里添加了它),这对于大多数表情符号来说都是正确的范围。 As noted in the comments,unicodedata
将该字符报告为HATCHING CHICK
。