python文件处理的时候遇到这样的错
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe5 in position 0: invalid start byte
我的代码
file = open('sss.txt','r',encoding='utf-8') file.seek(1) str = file.readline()
seek函数的作用是改变文件的指针位置,
对于汉字,它的偏移量是计算的byte数,而不是字符数。
比如:‘朋友’的utf8编码 \x8b\xe5\x8f\x8b\xe5\x95,每一个汉字是3个byte,偏移一个字符后是\xe5,而解码器从这里开始解码,就不能转换成正常的字符,就报了上述的错误。