Python十六进制解码对特殊字符显示错误结果



我尝试解码一个十六进制字符串,但特殊字符。

运行

codecs.decode("5469eb73746f2026204b53484d5220666561742e205661737379", "hex")
我得到b'Tixebsto & KSHMR feat. Vassy'

但是我想要Tiësto & KSHMR feat. Vassy

我在线检查了十六进制代码,但它是正确的。我还需要另一个函数吗,还是我只漏了一步?

您将十六进制值解码为 bytes对象。如果您期望(Unicode)文本,请使用有效编码解码字节;你似乎有拉丁1或Windows Codepage 1252数据在这里:

>>> import codecs
>>> codecs.decode("5469eb73746f2026204b53484d5220666561742e205661737379", "hex")
b'Tixebsto & KSHMR feat. Vassy'
>>> _.decode('latin1')
'Tiësto & KSHMR feat. Vassy'

相关内容

最新更新