从网上下载的部分txt文件,文档编辑器打不开,于是尝试使用python 解决:
方案一: 猜想txt文档的格式,以指定的编码格式打开:
import os
fileHandle = open(file,'r',encoding='gb2312')
str = fileHandle.read()
尝试更换多种编码方式:gb2312,utf-8,unicode等,最后还是失败了。
方案二 不能瞎猜,得猜到什么时候,于是决定使用探测器探测一下。
import os
import chardet
fileHandle = open(file,mode='rb')
data = fileHandle.read()
print(chardet.detect(data))
成功探测出编码方式,决定使用探测出来的编码方式,进行解码。
遗憾的是仍然解码错误。
其实文本编辑器
具备自动识别文本编码的功能,
之所以无法解码是因为部分文档可能是乱码,最终导致解码失败。
于是选择忽略乱码的部分,进行解码
true_text = data.decode('GB2312', "ignore")
这次解码成功,得到正确字符串,将其写入文件中保存起来。
fixtxt = open("/Users/litengfang/Desktop/fix.txt",'w')
fixtxt.write(true_text)