一个关于python3的编码问题

问题描述

Python读入一个文件的数据时经常遇到编码问题。报错如下:

1
UnicodeEncodeError: 'gbk' codec can't encode character '\xXX' in position XX: illegal multibyte sequence

解决方案

rb的方式读入Binary,再decode(‘utf-8’)。

一个例子,输出afile.txt中的内容

1
2
3
4
filename = "afile.txt"
with open(filename, 'rb') as f:
for line in f:
print(line.decode('utf-8'))