如何解码 python 中的 b"\x80"?

How to decode b"\x80" in python?

我想在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'