读取文件时发生Python UnicodeEncodeError

时间:2019-03-16 18:25:06

标签: python encoding utf-8 decoding

我已经搜索了数小时来修复此错误,但是没有一个在线解决方案可以解决我的问题。

在Python 3.6上执行这段代码时:

# encoding=utf-8
f = open("x.htm", "r", -1, "utf-8", 'ignore') 
s = f.read()
print(s)

我收到以下错误:UnicodeEncodeError:'ascii'编解码器无法在位置37编码字符'\ xfc':序数不在范围(128)中

我什至不知道为什么要使用ascii编解码器?

我使用的是普通的html文件,该文件中仅包含utf-8字符,这些字符也已指定为字符集(在通过通用浏览器打开时看起来很正常)

我已经找到了解决方法:

s = f.read().encode('utf-8').decode("ascii", "ignore")

到目前为止,问题是由于使用了替换标签时,忽略标签导致的数据丢失,而发生以下错误:

UnicodeEncodeError:“ ascii”编解码器无法在位置37-38处编码字符:序数不在范围(128)中

我有一个普通的html文件,该文件可以由我的浏览器和编辑器正确解码为utf-8,我尝试使用utf-8在python中打开此文件-然后出现ascii的unicode错误?

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作

  

检查使用ascii的编辑器,并找出故障点。   打开vim并搜索问题字符