Python UnicodeDecodeError:“utf-8”编解码器无法解码位置0中的字节0xff:无效的开始字节

Python UnicodeDecodeError:“utf-8”编解码器无法解码位置0中的字节0xff:无效的开始字节,python,unicode,python-3.6,python-unicode,Python,Unicode,Python 3.6,Python Unicode,我在使用python 3.6的ubuntu 18.04上遇到这个错误: File "/home/sw/miniconda3/envs/py36/lib/python3.6/codecs.py", line 644, in __next__ line = self.readline() File "/home/sw/miniconda3/envs/py36/lib/python3.6/codecs.py", line 557, in read

我在使用python 3.6的ubuntu 18.04上遇到这个错误:

  File "/home/sw/miniconda3/envs/py36/lib/python3.6/codecs.py", line 644, in __next__
    line = self.readline()
  File "/home/sw/miniconda3/envs/py36/lib/python3.6/codecs.py", line 557, in readline
    data = self.read(readsize, firstline=True)
  File "/home/sw/miniconda3/envs/py36/lib/python3.6/codecs.py", line 503, in read
    newchars, decodedbytes = self.decode(data, self.errors)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

我尝试过使用utf-16,拉丁1编码,但没有任何效果。非常感谢您的帮助。

UTF-16/ucs2-这些都不是有用的编码,除非它们可能来自Java或某些MicroSoft Office产品。 前2个字节是BOM表,您可能需要手动跳过


目标是告诉python/mysql/任何人该文件的编码是utf-16或ucs2,这取决于该语言的可用性。

我假设您正在尝试从文件中读取文本。为什么您认为该文件包含有意义的文本?该文件来自何处,源代码对编码有何声明?在十六进制编辑器中查看文件时,它是什么样子的?如果您试图在系统文本编辑器中打开它,会发生什么情况?@KarlKnechtel我可以很好地读取文本中的文件editor@SieTw不,我的意思是,当你打开文件时,你是用什么模式做的?如果不提供参数,但对于某些要在“rb”模式下打开的文件,默认值为“r”,因为它们没有正确编码为text.feff字节表示是;这看起来像mysql的ucs2,因为我们不能浪费。你能看一下吗?现在我可以在终端内部阅读,但不能在文件中阅读:谢谢!-le正确吗?当我使用utf-16-le时,我得到以下错误:UnicodeDecodeError:“utf-16-le”编解码器无法解码7070-7071位置的字节:非法utf-16代理