如何解决在 colab 中解码 gb-2312 文件
我正在尝试在 Colab 中打开一个使用 gb-2312 编码的文件。这是我成功在我的 IDE 中运行以读取和解码的代码:
file = open(r'file.txt')
opened = file.read()
decoded = opened.encode('latin1').decode('gb2312')
print(decoded)
'utf-8' codec can't decode byte 0xc6 in position 67: invalid continuation byte
但是如果不先使用 read() 或 list() 就无法解码,否则我会收到以下错误:
'_io.TextIOWrapper' object has no attribute 'encode'
这似乎是一个 catch-22。这是 Colab 的错误还是有更好的方法来解决这个问题?
解决方法
打开文件时的默认值是 rt
(读取,文本模式)并使用由 locale.getpreferredencoding(False)
返回的特定于操作系统的默认编码。使用 encoding
参数覆盖默认值(显示为 utf-8
):
with open('file.txt',encoding='gb2312') as file:
data = file.read()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。