encode
表示 二进制字符 。 读取 文件时想要的是 二进制 →字符decode
。但是实际上,整个过程太手工了,只需执行以下操作:
with open('keys.json', encoding='utf-8') as fh:
data = json.load(fh)
print(data)
with
处理文件的正确打开和关闭,encoding
以open
确保使用正确的编码读取文件的参数,并且load
调用直接从文件句柄读取,而不是先将文件内容的副本存储在内存中。
如果仍然输出无效字符,则表示您的源编码不是UTF-8,或者您的控制台/终端无法处理UTF-8。