python 读文件编码问题 如何解决

stephen@ubuntu:~/qichacha$ python3 qichacha.py 
Traceback (most recent call last):
  File "qichacha.py", line 286, in <module>
    qichacha().read_data()
  File "qichacha.py", line 71, in read_data
    str = f.read()
  File "/usr/lib/python3.5/codecs.py", line 321, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 0: invalid continuation byte

clipboard.png

阅读 4.6k
1 个回答

应该是错误的用txt保存了含有bom的内容。
方法一:
打开网页,复制内容,贴到设定好编码为utf-8的notepad++里面试试。
方法二:

import codecs
str = f.read()
if str[:3] == codecs.BOM_UTF8:
    str = str[3:]

使用心的str进行操作

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题