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

看到此文,是否觉得体内洪荒之力爆发,饥渴难耐想吐槽、情不自禁想捐赠
本文为原创文章,尊重辛勤劳动,可以免费摘要、推荐或聚合,亦可完整转载,但完整转载需要标明原出处,违者必究。

支付宝微  信

由于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

参考文章:https://www.zhihu.com/question/20523036/answer/35225920
原文链接:胡小旭 => Mac(Linux)下解压(Unzip)文件时出现乱码解决方案


这是一篇原创文章,如果您觉得有价值,可以通过捐赠来支持我的创作~
捐赠者会展示在博客的某个页面,钱将会用在有价值的地方,思考中...


分类: Linux, Mac, 工具, 技术, 编程, 随记 | 标签: , , , , , , , , | 评论 | Permalink

发表评论

电子邮件地址不会被公开。