【发布时间】:2020-07-17 07:32:32
【问题描述】:
我有一段非常简单的代码可以转换 csv....还请注意,我曾多次引用 notepad++,但我的标准 IDE 是 vs-code。
with codecs.open(filePath, "r", encoding = "UTF-8") as sourcefile:
lines = sourcefile.read()
with codecs.open(filePath, 'w', encoding = 'cp1252') as targetfile:
targetfile.write(lines)
现在我正在做的工作需要将特定文件编码为 windows-1252,并且据我所知 cp1252=windows-1252。现在,当我使用 notepad++ 中的 UI 功能进行转换时,这种转换工作正常,但是当我尝试使用 python 编解码器对该文件进行编码时,它会失败;
UnicodeEncodeError: 'charmap' codec can't encode character '\ufffd' in position 561488: character maps to <undefined>
当我看到这个失败时,我很困惑,所以我仔细检查了当我使用 notepad++ 手动转换文件时的输出,并且转换后的文件是在 windows-1252 中编码的.....那么给出了什么?为什么 notepad++ 中的 UI 功能可以完成这项工作,但编解码器似乎无法完成这项工作? notepad++ 会忽略错误吗?
【问题讨论】: