首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python将UTF8文件转换为CP1250

Python将UTF8文件转换为CP1250
EN

Stack Overflow用户
提问于 2017-11-06 03:25:50
回答 1查看 2.8K关注 0票数 1

我有一个UTF8编码文件,我需要将其保存为CP1250编码文件。因此,我做了以下工作

代码语言:javascript
复制
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时,所有字符似乎都没有问题。但当我在记事本中打开最后一个文件时,该文件没有正确写入。例如,我得到的是符号ø,而不是字母ř。你知道这里出了什么问题吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-11-06 03:36:28

记事本可能认为文件包含使用CP-1252编码的文本:

代码语言:javascript
复制
>>> 'ř'.encode('cp1250').decode('cp1250')
'ř'
>>> 'ř'.encode('cp1250').decode('cp1252')
'ø'

这是记事本的问题。使用文本编辑器,可以在其中手动指定编码,如Notepad++。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47125667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档