分享一个解压缩工具(Win, Linux ),可以自动解压多重压缩包,从本地读取密码表,解压非 UTF-8 编码的 zip 文件

263 天前
 juejinloop
  1. 支持 rar, 7z, zip, tar 格式
  2. 可以寻找并解压目标目录下的压缩包,多重压缩包会自动解压
  3. 可以从本地文本文件读取密码自动尝试解压,密码文件格式项目说明里有
  4. 可以自动重命名正确的后缀,例子,分卷压缩文件.7z.删除 001 重命名至 文件.7z.001
  5. 可以正确解压非 UTF-8 编码的 zip 文件。之前在 Linux 上一直没找到可以解压中文/日文等 WIN 系统下打包并加密的 zip 文件的方案,这个工具可以解决这个问题。

GitHub 地址: https://github.com/davuses/PyExtract

1359 次点击
所在节点    分享发现
11 条回复
1423
263 天前
跟 unp 比较呢?
juejinloop
263 天前
@1423 抱歉之前没有听说过 unp, 是指 https://github.com/mitsuhiko/unp 这个项目吗? 区别和 features 都写在帖子开头了
Jirajine
263 天前
归根结底坑还是 Windows 导致的,Windows 是现存的唯一还不使用 utf-8 的操作系统了,脱离 Windows 后就从来没遇到过编码/字体/i18n 问题
juejinloop
263 天前
@Jirajine 是的,另外也是 zip 格式的缺陷,没有 header 说明文件名的编码格式。 引用一段 zhihu 的回答:
> ZIP 在压缩与解压缩的时候默认使用了系统的本地编码,如 windows 中文环境下为 GBK ,日文环境下是 JIS ,linux 默认编码为 UTF8 等;那么在不同系统环境下,只要压缩与解压缩的编码不一致,就会出现乱码。

比较头疼的是加密 zip 文件是 GBK/JIS 编码而且密码包含非英文的情况,需要把密码也进行对应编码才行。但是命令行执行 `unzip -O GBK -P 密码` 的话, “密码”是通过 utf-8 编码不是 GBK 编码的,所以解压会失败
1423
263 天前
@juejinloop unp 在 debian arch 等发行版里都有,可以直接命令行安装
1423
263 天前
@juejinloop 你没有听说过 unp,又怎么能做到事先把区别写在帖子开头呢?
qiuai
263 天前
如果可以套个 GUI 会更好?因为命令行总感觉有点复杂,尤其是我经常解压很多压缩包,一个一个的写命令感觉好复杂
RejaV
263 天前
用 unarchiver
juejinloop
263 天前
@qiuai 这个工具会自动解压目标文件夹下的压缩包,你把压缩包都放同一个目录就行了。 另外有编译好的 .exe 你也可以直接双击执行
juejinloop
263 天前
@RejaV 之前试过 unar ,但是我使用过程中有的 ZIP 解压会出错
LitterGopher
260 天前
个人使用习惯上是 Do one thing and do it well ,拒绝“小而美”。所以从文本获取密码,文件重命名,编码问题等我通常都是通过新写一个 shell 去完成,而不是找一个新工具去搞定——如果一个 shell 常用就想办法抽象为更通用一点的写法,然后写成 function 放在 .bashrc 。到此其实依旧力有未逮,所以我一般还会自己去写一些小命令行工具。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/966847

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX