如何解决错误UnicodeDecodeError:'utf-8'编解码器无法解码位置0的字节0xff:无效的起始字节
Python尝试将字节数组(bytes
假定为utf-8编码的字符串)转换为unicode字符串(str
)。当然,此过程是根据utf-8规则进行的解码。尝试此操作时,会遇到utf-8编码的字符串中不允许的字节序列(即位置0处的此0xff)。
由于您没有提供我们可以查看的任何代码,因此我们只能猜测其余的代码。
从堆栈跟踪中,我们可以假定触发操作是从文件(contents = open(path).read()
)中读取数据。我建议以如下方式重新编码:
with open(path, 'rb') as f:
contents = f.read()
这b
在该模式说明open()
,指出该文件应作为二进制来处理,所以contents
仍将是一个bytes
。这样不会发生任何解码尝试。
解决方法
https://github.com/affinelayer/pix2pix-
tensorflow/tree/master/tools
在上述站点上编译“ process.py”时发生错误。
python tools/process.py --input_dir data -- operation resize --outp
ut_dir data2/resize
data/0.jpg -> data2/resize/0.png
追溯(最近一次通话):
File "tools/process.py",line 235,in <module>
main()
File "tools/process.py",line 167,in main
src = load(src_path)
File "tools/process.py",line 113,in load
contents = open(path).read()
File"/home/user/anaconda3/envs/tensorflow_2/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 0xff in position 0: invalid start byte
错误原因是什么?Python的版本是3.5.2。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。