当我在 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编码。
功能open
does not默认使用 UTF-8。作为文档 says:
在文本模式下,如果encoding未指定使用的编码取决于平台:locale.getpreferredencoding(False)
调用以获取当前区域设置编码。
因此,这取决于,并且为了确定,您必须自己指定编码。如果文件以 UTF-8 保存,您应该这样做:
with open('test.html', 'r', encoding='utf-8') as file:
另一方面,尚不清楚该文件是否以 UTF-8 编码保存。如果不是,您将必须选择其他一个。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)