Linux 下 zip 文件解压乱码如何解决?-怎么解压文件
大家上午好啊!今天咱们来聊聊Linux 下 zip 文件解压乱码怎么解决的那些事!
由于zip格式中并没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,因此,导致这些zip文件在Linux下解压时出现乱码问题,因为Linux下的默认编码是UTF8。
目前网上流传一种unzip -O cp936的方法,但一些unzip是没有-O这个选项的。
版本 unzip 6.0 debian modified 有这个选项
还有另外两种解决方案可用。
python方案
此方案目前来看非常完美。
#!/usr/bin/env python# -*- coding: utf-8 -*-
import osimport sysimport 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.closefile.close()
Windows 用户屏蔽两条 print 语句,Linux 用户不用屏蔽
7z方案
需要安装p7zip和convmv,在Fedora下的命令是
su -c 'yum install p7zip convmv'
在ubuntu下的安装命令是
sudo apt-get install p7zip convmv
安装完之后,就可以用7za和convmv两个命令完成解压缩任务。
LANG=C 7za x your-zip-file.zip
convmv -f GBK -t utf8 --notest -r .
第一条命令用于解压缩,而LANG=C表示以US-ASCII这样的编码输出文件名,如果没有这个语言设置,它同样会输出乱码,只不过是UTF8格式的乱码(convmv会忽略这样的乱码)。
第二条命令是将GBK编码的文件名转化为UTF8编码,-r表示递归访问目录,即对当前目录中所有文件进行转换。
根据 GitHub - ikohara/dpkg-unzip-iconv: Makefile for Debian unzip package with iconv 上的安装步骤,给unzip打补丁,然后就可以用-O参数了
1.5 unar方法
这个最简单省力,默认debian已经安装了额unar,这个工具会自动检测文件的编码,也可以通过-e来指定:
unar file.zip
即可解压出中文文件。
更多精彩内容详情关注尚学堂,喜欢IT的小伙伴们可以了解尚学堂哦!另外,喜欢的话请多多关注小编哦!
相关内容
-
在wps中粘贴保留原格式化|wps中复制文件保留原
在wps中粘贴保留原格式化|wps中复制文件保留原有格式,格式化,...
-
什么是boot.ini文件错误ini的非法解决方案
什么是boot.ini文件错误ini的非法解决方案,,千奇百怪的电脑问...
-
鼠标不能拖动文件了
鼠标不能拖动文件了,鼠标,拖动,本文目录鼠标不能拖动文件了电...
-
如何解决机箱内电气箱的漏电问题
如何解决机箱内电气箱的漏电问题,,故障现象; 电脑柜或电熨斗...
-
Outlook的PST文件损坏的修复方法
Outlook的PST文件损坏的修复方法,文件, ...
-
电脑什么文件不能删除文件|电脑中哪些文件不能
电脑什么文件不能删除文件|电脑中哪些文件不能删除,,电脑中哪...
-
电脑上怎样打文件|电脑上怎样打文件符号
电脑上怎样打文件|电脑上怎样打文件符号,,电脑上怎样打文件符...
-
linux – 如何为Debian中的所有用户设置PATH?
linux – 如何为Debian中的所有用户设置PATH?,适用于,用户,我有...
-
将wps转为EX|把WPS文件转为excel表格
将wps转为EX|把WPS文件转为excel表格,转为,如何将,wps,1.怎么...
-
电脑字幕手机怎么载入|电脑字幕手机怎么载入文
电脑字幕手机怎么载入|电脑字幕手机怎么载入文件,,电脑字幕手...
-
u盘看不到文件其他电脑可以看到|电脑里看不到u
u盘看不到文件其他电脑可以看到|电脑里看不到u盘,,1. 电脑里看...
-
如何解决errtor加载操作系统的引导
如何解决errtor加载操作系统的引导,,电脑启动后,屏幕上出现了er...
-
联想笔记本电脑主板颜色|联想笔记本颜色配置文
联想笔记本电脑主板颜色|联想笔记本颜色配置文件,,联想笔记本...
-
电脑文件或丢失开不了机|电脑文件或丢失开不了
电脑文件或丢失开不了机|电脑文件或丢失开不了机,还没有键盘...
-
如何解决电脑蓝屏错误代码是0x0000007f问题
如何解决电脑蓝屏错误代码是0x0000007f问题,,点评:如何解决电脑...