无需上传, 100% 本地处理, 无需账户

文章

ZIP、RAR 和 7z:该用哪种压缩格式

一个文件以 .zip、.rar 或 .7z 的形式出现,大多数人除了知道“这是个压缩文件夹”之外,说不出真正的区别是什么。这三种格式都会把多个文件打包成一个并压缩体积,但它们来自不同的项目、使用不同的压缩算法,还有一个在实践中很重要的区别:不额外安装软件的情况下,你能拿它们做什么。

ZIP:通用且无专利的基准格式

ZIP 格式记录在 PKWARE 公开的 APPNOTE 规范中,可追溯到 1989 年,它足够古老、足够开放,以至于每一个主流操作系统无需安装任何软件就能打开它。它默认使用 DEFLATE 算法,压缩效果尚可,关键是解压速度快,这是那个年代刻意做出的取舍,当时在普通硬件上的解压速度和最终体积同样重要。这也是为什么 ZIP 至今仍是发给未知接收者的文件的默认选择。

ZIP、RAR 和 7z 的对比标签:无专利/通用,专有/擅长分卷,以及压缩率最高

RAR:专有格式,擅长拆分大型压缩包

RAR 是 Roshal Archive 的缩写,是由 Eugene Roshal 创建的专有格式:创建 .rar 文件需要付费的 WinRAR 软件或其命令行版本,不过免费的解压工具很容易找到。相比 ZIP,它的主要实用优势在于能干净地把一个大压缩包拆分成多个大小相同的分卷,这在过去把一个大文件分散存到可移动介质,或应对大小受限的上传时很有用;此外还有实体归档(solid archiving)功能,把许多小文件压缩成一条连续的数据流,以获得更好的压缩率。

7z:压缩率最高,创建同样免费

7z 是免费开源的 7-Zip 项目的原生格式,得益于 LZMA 和 LZMA2 算法,它通常能在这三者中生成最小的文件,代价是压缩和解压速度都比 DEFLATE 慢。和 RAR 不同,7z 文件从创建到解压全程都是免费且开源的,这也是为什么在文件体积比编码速度更重要的大型下载分发场景中,它成了常见的选择。

作为接收者,实际上有什么区别

对于打开别人发给你的文件来说,如今格式几乎无关紧要:现代的解压工具这三种都能处理。真正的差别出现在你自己打包文件的时候:ZIP 能保证接收者不用额外安装任何软件就能打开;如果你特别需要多卷拆分,RAR 会很方便;而当双方都有(或能安装)兼容的解压工具时,7z 能给你最小的文件体积。这三种格式默认都不加密;每一种都支持可选的密码保护,但都需要你显式开启。

在不上传文件的情况下打开这三种格式中的任何一种

我们的解压工具使用编译成 WebAssembly 的 libarchive,完全在你的浏览器中读取 ZIP、RAR、7z、TAR 和 GZ 文件,因此压缩包的内容在被列出或解压时,从不会离开你的设备。它是一个读取工具,而不是创建工具:它只列出并解压一个压缩包里已有的内容,而不会新建一个压缩包,所以目前把自己的文件打包成压缩包,仍然需要一个已安装的应用程序。

流程示意图:压缩文件完全在浏览器中由 libarchive.wasm 解码,列出并提取其内容,不上传,目前也不提供创建路径

本文涉及的工具

常见问题

这三种格式中,哪一种压缩出来的文件最小?

对于典型的混合内容,使用 LZMA2 算法的 7z 通常能生成这三者中最小的压缩包,代价是压缩和解压所需的时间比 ZIP 的 DEFLATE 更长。

打开 RAR 文件需要付费购买软件吗?

不需要。创建 RAR 压缩包需要付费的 WinRAR 或其命令行版本,但免费的解压工具,包括本站的解压工具,都可以免费打开并解压已有的 RAR 文件。

ZIP、RAR 和 7z 文件默认是加密的吗?

不是。这三种格式默认都只做压缩;密码保护是一个可选设置,需要创建压缩包的人自己开启。未加保护的压缩包内容,任何打开它的人都能读取,就像一个没有保护的文件夹一样。

来源