Python解析json文件报错:'utf8' codec can't decode byte 0xbb in position 0: invalid start byte
2017-12-12 16:16
2631 查看
今天尝试读一个json文件,数据为一行,字典列表形式,结果一直报错
代码:
[python] view
plain copy
f = file('relation.json')
d = json.load(f)
报错:
'utf8' codec can't decode byte 0xbb in position 0: invalid start byte
在使用Python的时候,经常会碰到这个报错,之前一直弄不清楚是什么问题,今天专门研究了一下,报错的意思大概是,无法解码,在位置0处有非法的开始字节。
了解后发现,在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也是用记事本编辑utf-8编码后执行就会出错的原因了。
解决方案:
打开sublime,新建文件,选择File->save
with encoding->UTF-8, 就可以了。
参考:
http://www.crifan.com/fixed_problem_for_python_valueerror_no_json_object_could_be_decoded/
http://jingyan.baidu.com/article/9f63fb91d72eb5c8410f0e44.html
转载自:/Uploads/Images/Content/201712/b1f6921232f24c571c0f50de299f4758
代码:
[python] view
plain copy
f = file('relation.json')
d = json.load(f)
报错:
'utf8' codec can't decode byte 0xbb in position 0: invalid start byte
在使用Python的时候,经常会碰到这个报错,之前一直弄不清楚是什么问题,今天专门研究了一下,报错的意思大概是,无法解码,在位置0处有非法的开始字节。
了解后发现,在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也是用记事本编辑utf-8编码后执行就会出错的原因了。
解决方案:
打开sublime,新建文件,选择File->save
with encoding->UTF-8, 就可以了。
参考:
http://www.crifan.com/fixed_problem_for_python_valueerror_no_json_object_could_be_decoded/
http://jingyan.baidu.com/article/9f63fb91d72eb5c8410f0e44.html
转载自:/Uploads/Images/Content/201712/b1f6921232f24c571c0f50de299f4758
相关文章推荐
- Python解析json文件报错:'utf8' codec can't decode byte 0xbb in position 0: invalid start byte
- pythonUnicodeDecodeError: 'utf8' codec can't decode byte 0xba in position 208550: invalid start byte
- python 编码问题 UnicodeDecodeError: ‘utf8’ codec can’t decode byte 0xb4 in position 0: invalid start byt
- jupyter另存为py文件时:nbconvert failed: 'utf8' codec can't decode byte 0xc0 in position 96: invalid start
- python提示UnicodeDecodeError: ‘utf8’ codec can’t decode byte 0xa1 in position 6: invalid start byte
- python3 读入csv文件报错('utf-8' codec can't decode byte 0x8b in position 2: invalid start byte)的解决
- python 3.x + Django 读取csv文件报错:'utf-8' codec can't decode byte 0xba in position 0: invalid start byte
- python UnicodeDecodeError: 'utf8' codec can't decode byte 0xd6 in position 15: invalid continuation
- Python读取文件UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 2: invalid start byte
- UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 : invalid start byte
- python爬虫解析json数据报错(unicode error) 'utf-8' codec can't decode byte 0xbb in position 0
- python 文件操作 UnicodeDecodeError: 'gbk' codec can't decode byte 0xc3 in position 78: invalid continu
- 解决 python爬虫'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte‘错误
- python中尝试df.to_excel的时候'utf8' codec can't decode byte 0xb8 in position 0: invalid start byte
- 解决Python:'utf-8' codec can't decode byte 0xfc in position 14: invalid start byte
- python3 读入csv文件报错('utf-8' codec can't decode byte 0x8b in position 2: invalid start byte)的解决
- Python中定位到某一文本框输入搜索字段,为什么文字写不进去。 'utf8' codec can't decode byte 0xba in position 0: invalid start by
- 手把手教你:python读取.htm文件报错:UnicodeDecodeError: 'utf8' codec can't decode byte 0xb3 in position 0的解决方法
- 'utf8' codec can't decode byte 0x8b in position 14: invalid start byte
- About UnicodeDecodeError: 'utf8' codec can't decode byte 0xa1 in position 157: invalid start byte