utf8 编码无法解码位置的字节 0xae
我刚发现我的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")