【发布时间】:2018-10-29 05:18:05
【问题描述】:
所以,我遇到了 Python3 编码问题。我有几个字节想作为字符串工作。 (长篇大论)
简而言之,这是可行的
a = "\x85".encode()
print(a.decode())
但这不是
b = (0x85).to_bytes(1,"big")
print(b.decode())
UnicodeDecodeError:utf-8 编解码器无法解码位置 0 中的字节 0x85: 无效的起始字节
我已经阅读了一些关于该主题的文章,但他们坚持认为“python3 已损坏”或“您不应该为此使用字符串”。 Stackoverflow 上的很多文章只是使用“变通方法”(例如“错误时使用替换”或“用户 utc-16”)。
谁能告诉我区别在哪里以及为什么该功能有效而第二个无效?他们两个不应该工作相同吗?为什么 utf-8 在第二次尝试时无法解码字节?
【问题讨论】:
标签: python python-3.x unicode codec