Mac(Linux)下解压(Unzip)文件时出现乱码解决方案

2018-02-24 10:27:54来源:http://blog.ihuxu.com/solutions-to-garbled-text-when-extract作者:胡小旭人点击

分享

由于zip格式中并没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,因此,导致这些zip文件在Linux下解压时出现乱码问题,因为Linux下的默认编码是UTF8。


Python方案

这个方案很简单,因为如果你是*nix系统,那么python环境很有可能已经装好了。如果没有安装的话,可以到下面地址下载对应的安装包:



https://wiki.python.org/moin/BeginnersGuide/Download


然后,创建python脚本文件myunzip.py,并写入如下内容:


#作者:Latm Ake
#链接:https://www.zhihu.com/question/20523036/answer/35225920
#来源:知乎
#着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import zipfile
#print "Processing File " + sys.argv[1]
file=zipfile.ZipFile(sys.argv[1],"r");
for name in file.namelist():
utf8name=name.decode('gbk')
# print "Extracting " + utf8name
pathname = os.path.dirname(utf8name)
if not os.path.exists(pathname) and pathname!= "":
os.makedirs(pathname)
data = file.read(name)
if not os.path.exists(utf8name):
fo = open(utf8name, "w")
fo.write(data)
fo.close
file.close()

最后执行命令:


chmod 777 ./myunzip.py
./myunzip.py you-file-name.zip

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台