linux中zip文件编码错误,如何避免在 Linux 下解压 zip 文件时可能出现的乱码情况...

zip 格式的压缩包应该是我们最常见的一种压缩格式了,不过这种格式虽然常见,但却有一点很不好,就是它并不会保存里面文件的编码格式,而这也会导致在解压压缩包时出现一种很常见的问题,就是乱码。

当前 Linux 下的编码格式一般都是 utf-8 格式,Windows 下一般都是 gbk,(没用过 Mac,所以编码格式不清楚,不出意外应该也是 utf-8 格式的吧),如果不考虑跨平台使用这些压缩文件的话,问题可能不会很大,但是一旦牵扯到跨平台,在解压 zip 格式的文件时就很容易出现乱码的情况。但是根据我过去的体验来说,在 Linux 下使用 unzip 命令来解压非 utf-8 编码的 zip 文件时,十有八九会出现乱码的情况。

而今天我想要介绍的就是一个终端解压程序 unarchiver/unar,可以避免在 Linux 下解压 zip 文件时可能会出现的乱码情况。(因为我自己使用的系统是 Arch Linux,所以就只能介绍一下这边的情况)

在 Linux 下可以直接通过自己系统对应的包管理命令直接安装$ sudo pacman -S unarchiver #Arch Linux

$ sudo apt install unar #Debian/Ubuntu

unarchiver 中包含了两个程序,unar 和 lsar,其中 lsar 是用来查看压缩文件中的内容的,unar 是用来提取压缩文件中的内容的。Arch Linux 社区库(社区库是 community 库,不是 aur)中是包含 unarchiver 程序的,而其他的 Linux 发行版像是 Ubuntu 一般则只有 unar 这个程序。

使用的方法也很简单:$ lsar file.zip #列出压缩包中的内容

$ unar file.zip #提取压缩包中的内容到当前位置下的 file 文件夹当中

$ unar -o hello file.zip #也可以通过添加 -o 选项来将文件放到自己指定的文件夹当中

当然 unarchiver/unar 支持解压的压缩格式并不仅仅只有 zip 格式,事实上,当下比较流行的压缩格式,像是 rar、zip、tgz 等等它都是支持的。

不过还需要注意一点就是 unarchiver/unar仅仅是解压程序,并不支持打包压缩文件的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值