從網(wǎng)上下載的部分txt文件右犹,文檔編輯器打不開,于是嘗試使用python 解決:
方案一: 猜想txt文檔的格式咧纠,以指定的編碼格式打開:
import os
fileHandle = open(file,'r',encoding='gb2312')
str = fileHandle.read()
嘗試更換多種編碼方式:gb2312,utf-8,unicode等瞬内,最后還是失敗了。
方案二 不能瞎猜碘勉,得猜到什么時(shí)候,于是決定使用探測器探測一下桩卵。
import os
import chardet
fileHandle = open(file,mode='rb')
data = fileHandle.read()
print(chardet.detect(data))
成功探測出編碼方式验靡,決定使用探測出來的編碼方式,進(jìn)行解碼雏节。
遺憾的是仍然解碼錯誤胜嗓。
其實(shí)文本編輯器
具備自動識別文本編碼的功能,
之所以無法解碼是因?yàn)椴糠治臋n可能是亂碼钩乍,最終導(dǎo)致解碼失敗辞州。
于是選擇忽略亂碼的部分,進(jìn)行解碼
true_text = data.decode('GB2312', "ignore")
這次解碼成功寥粹,得到正確字符串变过,將其寫入文件中保存起來。
fixtxt = open("/Users/litengfang/Desktop/fix.txt",'w')
fixtxt.write(true_text)