为了账号安全,请及时绑定邮箱和手机立即绑定

在Python 3中读取文件时编码错误?

在Python 3中读取文件时编码错误?

千巷猫影 2023-12-26 17:05:48
当我在 python 中读取文件并将其打印到屏幕上时,它无法正确读取某些字符,但是,这些相同的字符硬编码到变量 print 中就可以了。以下是“test.html”包含文本“Hallå”的示例:with open('test.html','r') as file:    Str = file.read()print(Str)Str = "Hallå"print(Str)这会生成以下输出:hallÃ¥Hallå我的猜测是,当文件中的数据被读入Python时,它的解释方式有问题,但是我不确定它是什么,因为Python 3.8.5已经默认使用UTF-8编码。
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

函数默认不使用 UTF- open正如文档所说:

在文本模式下,如果未指定编码,则使用的编码取决于平台:locale.getpreferredencoding(False)调用以获取当前区域设置编码。

因此,这取决于,并且为了确定,您必须自己指定编码。如果文件以 UTF-8 保存,您应该这样做:

with open('test.html', 'r', encoding='utf-8') as file:

另一方面,尚不清楚该文件是否以 UTF-8 编码保存。如果不是,您将不得不选择其他一个。


查看完整回答
反对 回复 2023-12-26
  • 1 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信