Python 如何恢复加载并保存在UTF8中的GB2312编码文件?
我有一个文件,它是GB2312编码,但加载和保存在UTF8错误。它看起来如下所示:Python 如何恢复加载并保存在UTF8中的GB2312编码文件?,python,utf-8,character-encoding,Python,Utf 8,Character Encoding,我有一个文件,它是GB2312编码,但加载和保存在UTF8错误。它看起来如下所示: ���ͣ� 然而,正确的词应该是 微信 我想知道是否有什么方法可以恢复此文件?我已经尝试了下面的python代码,在我看来这是一个相反的过程,但是它不起作用 import codecs with codecs.open("new.txt", 'r', encoding='utf8') as f: text = f.read() text = text.decode() print
���ͣ�
然而,正确的词应该是
微信
我想知道是否有什么方法可以恢复此文件?我已经尝试了下面的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'
您能否共享实际字节(
open('new.txt','rb').read()
)?另外,您使用的是Python 2还是Python 3?@snakecharmerb请参见我的更新\xef\xbf\xbd
� 性格没有什么可以恢复的。b'\xce\xa2\xef\xbf\xbd\xef\xbf\xbd'.decode('gb2312')
给出了'微锟斤拷'代码>..@JosefZ锟斤拷 在汉语中是Mojibake的等价物。