我有一个UTF8编码文件,我需要将其保存为CP1250编码文件。因此,我做了以下工作
import codecs
# Read file as UTF-8
with codecs.open("utf.htm", "r", 'utf-8') as sourceFile:
# Write file as CP1250
with codecs.open('win1250.htm', "w", "cp1250", "xmlcharrefreplace") as targetFile:
while True:
contents = sourceFile.read()
if not contents:
break
targetFile.write(contents)当我在编辑器中检查unicode string contents时,所有字符似乎都没有问题。但当我在记事本中打开最后一个文件时,该文件没有正确写入。例如,我得到的是符号ø,而不是字母ř。你知道这里出了什么问题吗?
谢谢
发布于 2017-11-06 03:36:28
记事本可能认为文件包含使用CP-1252编码的文本:
>>> 'ř'.encode('cp1250').decode('cp1250')
'ř'
>>> 'ř'.encode('cp1250').decode('cp1252')
'ø'这是记事本的问题。使用文本编辑器,可以在其中手动指定编码,如Notepad++。
https://stackoverflow.com/questions/47125667
复制相似问题