【发布时间】:2021-04-09 16:38:09
【问题描述】:
我想在python中从windows-1252转换为utf-8,我写了这段代码:
def encode(input_file, output_file):
f = open(input_file, "r")
data = f.read()
f.close()
# Convert from Windows-1252 to UTF-8
encoded = data.encode('Windows-1252').decode('utf-8')
with safe_open_w(output_file) as f:
f.write(encoded)
但我有这个错误:
encoded = data.encode('Windows-1252').decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe8 in position 5653: invalid continuation byte
我试图用这个元标记转换一个 html:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
【问题讨论】:
-
如果是读写文本文件,只要在读写时传入编码作为参数即可:
f = open(input_file, "r", encoding='Windows-1252')和with safe_open_w(output_file, encoding='utf8') as f:
标签: python encoding utf-8 decoding windows-1252