鍍金池/ 問答/Python/ Python 中文亂碼問題

Python 中文亂碼問題

最近在用Python處理公交GPS軌跡數(shù)據(jù),但是遇到一些編碼問題,很是煩人。原始數(shù)據(jù)是.gz格式的數(shù)據(jù),我在windows上解碼后,我把它轉(zhuǎn)成.txt格式的文件,但是文件中包含大量的亂碼,不管怎么去轉(zhuǎn)化編碼都沒有起作用的,如下圖:

這是.gz文件和解壓后文件:
clipboard.png

這是轉(zhuǎn)換成txt后的文件:
clipboard.png

然后打開txt文件后就成了下面的各種亂碼,我嘗試用utf-8,gbk,gb2312轉(zhuǎn)換編碼也沒有任何效果的,具體如下圖所示。
clipboard.png

clipboard.png

所以就想問一下大家:
①有什么編碼可以將.gz格式的文件中的中文亂碼糾正
②我現(xiàn)在是一行行對(duì)數(shù)據(jù)進(jìn)行處理,請(qǐng)問有什么方法可以識(shí)別該字符串包含亂碼?

回答
編輯回答
別逞強(qiáng)

如果確定源文件一定沒問題,那就在linux下或用cygwin或git里帶的tar工具解壓.gz文件,不要使用WinRAR解壓,有時(shí)候會(huì)有些問題。然后使用notepad++Visual Studio Code打開解壓后的文本,看看能不能找到正確的編碼。先保證源文件沒有問題,然后手動(dòng)確定編碼,不要用python一個(gè)一個(gè)解。

判斷是否有亂碼,簡(jiǎn)單的方法是判斷字符串中是否包含“錕斤拷”字串,講道理沒有哪個(gè)公交站叫錕斤拷站吧。

錕斤拷到了,下一站,燙燙燙:)
2018年2月10日 23:32
編輯回答
喜歡你

還有一種叫base64碼,試試看

2018年9月6日 05:44
編輯回答
神經(jīng)質(zhì)

這是跨平臺(tái)的編碼問題,這個(gè)gz包應(yīng)該是linux服務(wù)器上打包的是utf8編碼,而在本地你解壓的時(shí)候是gbk
你可以找一臺(tái)liunx服務(wù)器解壓出來看看是不是正常的,如果是正常的找一個(gè)能解決跨平臺(tái)編碼的解壓軟件
或者在linux服務(wù)器上試試重新打包成zip

2017年9月27日 13:32