我想在python中解码b"x80"
(我想接收"x80"
)。当我尝试b"x80".decode("utf-8")
时,它会给我UnicodeDecodeError
但当我只尝试"x80"
时,它给了我所期望的。为什么会发生这种事,以及如何得到我所期望的?
您可以使用latin-1编码来获得所需的结果。
>>> b"x80".decode('latin-1')
'x80'
这是覆盖x00
到xff
的8位编码。Unicode的前256个代码点基于latin-1(又名ISO/IEC 8859-1)
您还可以使用编码unicode_escape
,它甚至可以与更高的unicode转义码(如b"u0080"
和b"U00000080"
)一起使用。
>>> b"u0080".decode('unicode_escape')
'x80'