Learning Python 015 Python3解决问题:读取文件时,出现乱码或者“UnicodeDecodeError 'gbk' codec can't decode” 错误
2016-11-29 19:31
1126 查看
使用的电脑系统:Windows 10 64位
使用的开发集成环境:PyCharm 2016.1.4
使用的Python的版本:python 3.5.0
运行输出:
运行输出:
现在再运行,就正常了:
使用的开发集成环境:PyCharm 2016.1.4
使用的Python的版本:python 3.5.0
出现的错误
读取文件时,出现乱码或者UnicodeDecodeError: 'gbk' codec can't decode byte 0xXX in position XX: incomplete multibyte sequence错误
出现错误的原因
这两个错误可能会出现一个,两个错误的出现的原因是一样的:当我们使用了一个不正确的编码方式去读取一个不是用这个编码方式编码的文件时,轻者出现乱码,重者出现UnicodeDecodeError错误。
模拟错误发生现场
file = open('newfile.txt', 'w', encoding='utf-8') file.write('你好,AoboSir.') file.close() file = open('newfile.txt', 'r') print(file.read()) file.close()
运行输出:
浣犲ソ锛孉oboSir.
file = open('newfile.txt', 'w', encoding='utf-8') file.write('你好,AoboSir。') file.close() file = open('newfile.txt', 'r') print(file.read()) file.close()
运行输出:
Traceback (most recent call last): File "D:/WorkSpace/test_ws/demo/learning_python_15.py", line 6, in <module> print(file.read()) UnicodeDecodeError: 'gbk' codec can't decode byte 0x82 in position 35: incomplete multibyte sequence
解决办法
读取文件时,指定正确的编码方式:file = open('newfile.txt', 'r', encoding='utf-8')
现在再运行,就正常了:
你好,AoboSir。
搞定
请访问:http://www.aobosir.com/相关文章推荐
- 解决Python读取文件时出现UnicodeDecodeError: 'gbk' codec can't decode
- 解决python3 UnicodeEncodeError: 'gbk' codec can't encode 或者decode等问题
- Python中读取txt文本出现“ 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence”的解决办法
- python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib
- python3 读中文txt文件提示 'gbk' codec can't decode byte 0x80 ...或 'gbk' codec can't encode character '\xX问题
- 解决Python中导出图片出现的错误SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position
- 解决 python 中读写文件的终极方案 UnicodeDecodeError: 'gbk' codec can't decode byte 0x9d in position 1270: illega
- python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib
- 解决Python字符串处理出现错误UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe4 in position 108: ordinal not in range(128)
- python 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法
- python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib
- python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib
- python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib
- 手把手教你:python读取.htm文件报错:UnicodeDecodeError: 'utf8' codec can't decode byte 0xb3 in position 0的解决方法
- 手把手教你:python读取.htm文件报错:UnicodeDecodeError: 'utf8' codec can't decode byte 0xb3 in position 0的解决方法
- 【Python】Python读取文件报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0x99 in position 20: illegal multibyte sequence
- 解决vs2013下创建的python文件,到其他平台(如linux)下中文乱码(或运行时报SyntaxError: (unicode error) 'utf-8' codec can't decode byte...)
- Python读取CSV文件:UnicodeDecodeError: 'gbk' codec can't decode byte 0xba ....illegal multibyte sequence
- python处理字符串时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法
- python 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法