请关注标题号,坚持每天更新原创干货技术文章。
如需学习视频,请在微信上搜索微信官方账号智传网优直接开始自助视频学习
1. 前言
本文主要讲解如何解决zip解压时遇到的文件名乱码。
请参见以下
oucanrong@zcwyou:~/下载$ ll HCIE*.zip
-rw-rw-r-- 1 oucanrong oucanrong 25659559 1月 24 15:03 HCIE-RS3.0ppt.zip
我们的目标是解压华为HCIE3.0的课件:HCIE-RS3.0ppt.zip
unzip无参数解压:
oucanrong@zcwyou:~/下载$ unzip HCIE-RS3.0ppt.zip
Archive: HCIE-RS3.0ppt.zip
creating: 01 PPT/
inflating: 01 PPT/HCRSE101-LAN╝╝╩?.pptx
inflating: 01 PPT/HCRSE102-WAN╝╝╩?.pptx
inflating: 01 PPT/HCRSE102-WAN╝╝╩?.pptx
inflating: 01 PPT/HCRSE103-IPv6╗?┤б.pptx
inflating: 01 PPT/HCRSE104-OSPF╦л╒╗╘н└э.pptx
inflating: 01 PPT/HCRSE105-ISIS╦л╒╗╘н└э.pptx
inflating: 01 PPT/HCRSE106-BGP╦л╒╗╘н└эBasic.pptx
inflating: 01 PPT/HCRSE107-BGP╦л╒╗╘н└эAdvance&Internet╔ш╝╞.pptx
inflating: 01 PPT/HCRSE108-┬╖╙╔Import&Control.pptx
inflating: 01 PPT/HCRSE109-MLD╘н└э.pptx
inflating: 01 PPT/HCRSE110-PIM╦л╒╗╘н└э.pptx
inflating: 01 PPT/HCRSE111-MPLS BGP VPN┐ч╙?.pptx
inflating: 01 PPT/HCRSE112-Security╝╝╩?.pptx
inflating: 01 PPT/HCRSE113-HA&═°╣▄.pptx
inflating: 01 PPT/HCRSE114-QoS╘н└э.pptx
inflating: 01 PPT/HCRSE115-SDN VXLAN╘н└э.pptx
inflating: 01 PPT/HCRSE116-BGP EVPN╘н└э.pptx
inflating: 01 PPT/HCRSE117-═°┬ч╔ш╝╞╙ы▓·╞╖╜щ╔▄.pptx
inflating: 01 PPT/HCRSE118-╣╩╒╧?╕└¤╖╓╬?╕└¤╖╓╬?.pptx不指定编码解压可能会导致乱码
结果文件名全部乱码。
2. 查看unzip选项oucanrong@zcwyou:~/下载$ unzip --help
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.
Usage: unzip[-Z][-opts[modifiers]]file[.zip][list][-x xlist][-d exdir]
Default action is to extract files in list, except those in xlist, to exdir;
file[.zip]may be a wildcard. -Z => ZipInfo mode (\\"unzip -Z\\" for usage).
-p extract files to pipe, no messages -l list files (short format)
-f freshen existing files, create none -t test compressed archive data
-u update files, create if necessary -z display archive comment only
-v list verbosely/show version info -T timestamp archive to latest
-x exclude files that follow 路由知识 (in xlist) -d extract files into exdir
modifiers:
-n never overwrite existing files -q quiet mode (-qq => quieter)
-o overwrite files WITHOUT prompting -a auto-convert any text files
-j junk paths (do not make directories) -aa treat ALL files as text
-U use escapes for all non-ASCII Unicode -UU ignore any Unicode fields
-C match filenames case-insensitively -L make (some) names lowercase
-X restore UID/GID info -V retain VMS version numbers
-K keep setuid/setgid/tacky permissions -M pipe through \\"more\\" pager
-O CHARSET specify a character encoding for DOS, Windows and OS/2 archives
-I CHARSET specify a character encoding for UNIX and other archives
See \\"unzip -hh\\" or unzip.txt for more help. Examples:
unzip data1 -x joe => extract all files except joe from zipfile data1.zip
unzip -p foo | more => send contents of foo.zip via pipe into program more
unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer
找到-O选项,指定由DOS或者Windows编码字符集
3. unzip解压时使用选项-O选项-O用于指定DOS/Windows编码字符集
使用GBK编码解压文件名。
oucanrong@zcwyou:~/下载$ unzip -O GBK HCIE-RS3.0ppt.zip
Archive: HCIE-RS3.0ppt.zip
inflating: 01 PPT/HCRSE101-LAN技术.pptx
inflating: 01 PPT/HCRSE102-WAN技术.pptx
inflating: 01 PPT/HCRSE103-IPv6基础.pptx
inflating: 01 PPT/HCRSE104-OSPF双栈原理.pptx
inflating: 01 PPT/HCRSE105-ISIS双栈原理.pptx
inflating: 01 PPT/HCRSE106-BGP双栈原理Basic.pptx
inflating: 01 PPT/HCRSE107-BGP双栈原理Advance&Internet设计.pptx
inflating: 01 PPT/HCRSE108-路由Import&Control.pptx
inflating: 01 PPT/HCRSE109-MLD原理.pptx
inflating: 01 PPT/HCRSE110-PIM双栈原理.pptx
inflating: 01 PPT/HCRSE111-MPLS BGP VPN跨域.pptx
inflating: 01 PPT/HCRSE112-Security技术.pptx
inflating: 01 PPT/HCRSE113-HA&网管.pptx
inflating: 01 PPT/HCRSE114-QoS原理.pptx
inflating: 01 PPT/HCRSE115-SDN VXLAN原理.pptx
inflating: 01 PPT/HCRSE116-BGP EVPN原理.pptx
inflating: 01 PPT/HCRSE117-网络设计及产品介绍.pptx
inflating: 01 PPT/HCRSE118-故障案例分析.pptx
成功看到中文文件名。
使用GB解压文件名称oucanrong@zcwyou:~/下载$ unzip -O GB18030 HCIE-RS3.0ppt.zip
指定GB解压文件名称
文件名也可以正确解码。
也可以使用GB2312字符集。
oucanrong@zcwyou:~/下载$ unzip -O GB2312 HCIE-RS3.0ppt.zip
4. 关于中文字符集早期计算机使用7位ASCII编码,程序员理汉字,程序员设计了简体中文GB2312用于繁体中文big5。
4.1 GB2312字符集简介缺点:不与繁体中文兼容,汉字集合太少。GB2312(1980年):16位字符集包含6763个简体汉字,682个符号,共7445个字符;
优点:适用于简体中文环境,属于中国国家标准,通过大陆,这编码也用于新加坡等地;
4.2 GBK字符集简介
缺点:不属于官方标准big5之间需要转换;许多搜索引擎无法很好地支持它GBK汉字。GBK(1995年):16位字符集包含21003个汉字,883个符号,21886个字符;
优点:适用于中文共存简单的环境Windows使用(代码页cp936)向下完全兼容gb2312,向上支持 ISO-10646 国际标准 ;所有字符都可以一对一映射unicode2.0上;
4.3 G B1