Python 中文乱码问题

最近在用Python处理公交GPS轨迹数据,但是遇到一些编码问题,很是烦人。原始数据是.gz格式的数据,我在windows上解码后,我把它转成.txt格式的文件,但是文件中包含大量的乱码,不管怎么去转化编码都没有起作用的,如下图:

这是.gz文件和解压后文件:
clipboard.png

这是转换成txt后的文件:
clipboard.png

然后打开txt文件后就成了下面的各种乱码,我尝试用utf-8,gbk,gb2312转换编码也没有任何效果的,具体如下图所示。
clipboard.png

clipboard.png

所以就想问一下大家:
①有什么编码可以将.gz格式的文件中的中文乱码纠正
②我现在是一行行对数据进行处理,请问有什么方法可以识别该字符串包含乱码?

阅读 3.7k
3 个回答

还有一种叫base64码,试试看

这是跨平台的编码问题,这个gz包应该是linux服务器上打包的是utf8编码,而在本地你解压的时候是gbk
你可以找一台liunx服务器解压出来看看是不是正常的,如果是正常的找一个能解决跨平台编码的解压软件
或者在linux服务器上试试重新打包成zip

如果确定源文件一定没问题,那就在linux下或用cygwin或git里带的tar工具解压.gz文件,不要使用WinRAR解压,有时候会有些问题。然后使用notepad++Visual Studio Code打开解压后的文本,看看能不能找到正确的编码。先保证源文件没有问题,然后手动确定编码,不要用python一个一个解。

判断是否有乱码,简单的方法是判断字符串中是否包含“锟斤拷”字串,讲道理没有哪个公交站叫锟斤拷站吧。

锟斤拷到了,下一站,烫烫烫:)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题