utf8 编码无法解码位置的字节 0xae

3 投票
2 回答
9037 浏览
提问于 2025-04-29 19:53

我刚发现我的json字符串里面有一些特殊字符,比如Pandora®。当我使用这个代码时,出现了这个错误:'utf8' codec can't decode byte 0xae in position: invalid start byte

json.loads(str_to_load)

我尝试了这个方法来解决问题:

json.loads(unicode(str_to_load), "ISO-8859-1")

显然,这个方法也没有效果。那我该怎么解决这个问题呢?

这个json文件太大,无法在这里上传。

暂无标签

2 个回答

1

默认情况下,json.dumps() 方法中的 ensure_ascii 选项是设置为 True 的。要解决这个问题,可以把这个选项设置为 False:

json.dumps(unicode(str_to_load), ensure_ascii = False)
7

你可以在 json.loads 中指定编码方式:

json.loads(str_to_load, encoding="ISO-8859-1")

撰写回答