php中文网

Python转码UTF-8报错“'gbk' codec can't decode byte 0x80...”,如何解决?

php中文网

python转码utf-8,却报“'gbk' codec can't decode byte 0x80 in position 8: illegal multibyte sequence"错误

在python中,如果你遇到这个错误,表明你虽然使用decode('utf-8')转码了字符串,但它实际上仍是gbk编码。这会导致读取时出现解码错误。

为了解决这个问题,可以在读取文件时明确指定二进制模式,然后在转码之前将二进制数据转换为utf-8字符串。

fp = open(myfile, 'rb')  # 二进制打开
keyfile = fp.read().decode('utf-8')  # 转码
keyfile = keyfile.replace("
", "--").split("--")  # 以行剪切,是一个数组

通过这种方法,你可以将gbk编码的文件成功转码为utf-8字符串,并进一步对其进行处理。

立即学习“Python免费学习笔记(深入)”;

以上就是Python转码UTF-8报错“'gbk' codec can't decode byte 0x80...”,如何解决?的详细内容,更多请关注php中文网其它相关文章!