如何恢复加载并保存在UTF8中的GB2312编码文件?

2024-06-16 11:30:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文件,它是GB2312编码,但加载和保存在UTF8错误。它看起来如下所示:

���ͣ�

然而,正确的词应该是

微信

我想知道是否有什么方法可以恢复此文件?我已经尝试了下面的python代码,在我看来这是一个相反的过程,但是它不起作用

import codecs
with codecs.open("new.txt", 'r', encoding='utf8') as f:
    text = f.read()
text = text.decode()
print text
text = text.encode('gb2312')
with codecs.open("trans_new", 'w', encoding='gb2312') as f:
    f.write(text)

所以我开始想,是否有一些信息丢失导致无法恢复此文件

编辑

我正在使用python 2

repr(f.read())的实际字节为

'\xce\xa2\xef\xbf\xbd\xef\xbf\xbd'

Tags: 文件text编码newreadaswithopen