首页 > 编程知识 正文

linux解压文件命令,tar包解压后中文乱码

时间:2023-05-03 12:20:07 阅读:45055 作者:1844

在Linux上,解压缩电脑上的. zip文件时,由于编码问题,中文文件名和文件夹名可能会乱码……

为了方便,我自己写了一个解压缩python.zip文件的脚本。 可以使用测试。

脚本myunzip.py :

#! usr/dddxx/env python2

#-* -编码utf-8

导入操作系统

导入系统

导入zipfile

print ' processing file ' sys.argv [1]

file=zipfile.zipfile (sys.argv [1],' r ' );

for name in file.namelist () :

UTF8name=name.decode(gbk ) ) )。

打印' extracting ' utf8 name

pathname=OS.path.dirname (utf8 name ) )。

ifnotOS.path.exists(pathname ) and pathname!='':

是操作系统. makedirs (pathname )

data=file.read(name;

ifnotOS.path.exists(UTF8name ) :

fo=open(UTF8name,' w ' ) ) ) ) )。

o.write (数据) )。

fo.close

file.close (

解压缩文件时直接运行:

$ python myunzip.py xxx.zip

或者,请添加可执行权限后再运行。

$ chmod x myunzip.py

$ ./myunzip.py xxx.zip

Example :

附录(在Linux上使用enca显示文件编码和转换) ) ) ) ) ) ) ) ) ) ) )。

在Linux上进行开发和系统管理,经常会遇到乱码。 在主要的Windows上,中文编码经常使用GB2312和GBK,而在Linux上是UTF-8。 在许多情况下,与Windows平台系统的通信离不开编码转换。 也许大多数人都使用iconv库函数(包括在glib中)和iconv命令执行编码转换。 今天在另一个shell上推荐编码转换工具enca。 它不仅可以转换编码,还可以看到文件的原始编码,比iconv更容易使用。

在Ubuntu下安装enca很容易。 apt-get就可以了。

$ sudo apt-get install enca

enca的使用方法如下。

enca -L zh_CN file检查文件的编码

enca-l zh _ cn-x UTF-8文件将文件编码转换为" utf-8 "编码

如果不想重写enca-l zh _ cn-x utf-8文件1文件2元文件。

除了检查文件编码的功能外,“enca”还具有以下优点:如果该文件原本是要转换的编码,它是不报告错误、打印并生成结果还是“iconv”报告错误。 这对于编写脚本很有用。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。