7z、ZIP 与 RAR 的区别 - 从压缩率、速度和兼容性来选择
结论:发送用 ZIP,想压得更小用 7z,RAR 是收到后打开的格式
三种格式的差别可以归结为三个问题:在哪里都能打开吗?能压缩到多小?谁能制作?发给别人用 ZIP,自己保存时想尽量小就用 7z,RAR 则当作收到后打开的格式,这样就不会犹豫。
| 项目 | ZIP | 7z | RAR |
|---|---|---|---|
| 系统自带工具能否打开 | Windows、macOS、iPhone、Android 的自带应用都能打开 | Windows 11 和 macOS 26.5 能打开;iPhone 与 Android 的自带应用不支持 | Windows 11 能打开;macOS 26.5 的自带工具不支持 |
| 主要压缩方式 | Deflate(规范中还有 LZMA 等) | LZMA2(7-Zip 的默认),另有 LZMA、PPMd、BZip2 | RAR 专有的方式 |
| 加密 | ZipCrypto(较弱)和 AES | AES-256(加密文件头后还能隐藏文件名) | AES-256(还能隐藏文件列表) |
| 固实压缩 | 无(逐个文件压缩) | 有 | 有 |
| 制作所需 | 系统自带功能即可 | 7-Zip(采用 GNU LGPL 的免费软件)等;Windows 11(24H2 及以后)也可以 | WinRAR 或 RAR(收费,有试用版) |
以上内容于 2026 年 10 月根据各公司的资料并在 macOS 26.5 上确认。
文件名乱码是 ZIP 的弱点,7z 和 RAR 5.0 的压缩包不容易出现(详见ZIP 文件名乱码的原因与修复方法)。
ZIP:在哪里都能打开的格式
ZIP 由 PKWARE 于 1989 年首次公开,其规范 APPNOTE.TXT 此后多次修订(截至 2026 年 10 月的最终版是 2022 年 11 月的 6.3.10)。里面的文件逐个单独压缩,压缩方式记录在一个编号字段里。几乎所有 ZIP 都使用 8 号方式 Deflate。规范中还列有 14 号 LZMA 等方式,但能打开 Deflate 以外方式的工具并不多。
ZIP 的长处就在于这种逐个文件压缩的结构。只要读取中央目录(central directory),就能单独取出某个文件,而不必解压其他文件;即使压缩包中途损坏,未损坏的文件通常仍能取出。iPhone 的“文件”应用和 Android 的 Files by Google 等自带应用都支持 ZIP,正是因为它易于处理。能制作 ZIP 的工具也很多:macOS 自带 ditto 命令和 Info-ZIP 的 zip 命令,Python 的 zipfile 模块也能生成 ZIP。
它的短处在加密和文件名编码。传统加密(ZipCrypto)被 APPNOTE 6.3.10 自己定位为较弱的方式,而更强的 AES 加密 ZIP 有时无法用自带应用打开。缺少 UTF-8 标志(通用标志的第 11 位)的 ZIP,日文文件名会因打开环境不同而乱码。乱码的修复方法见ZIP 文件名乱码的原因与修复方法,两类加密的区别见用手机打开带密码的 ZIP。
7z:固实压缩压得小,但要看对方能否打开
7z 是 Igor Pavlov 开发的 7-Zip 所用的格式。7-Zip 的说明列出的特点有:高压缩率、AES-256 加密、固实压缩、文件头压缩和 Unicode 文件名。7-Zip 的默认方式是 LZMA2(截至 2026 年 10 月),也可以选择原来的 LZMA,以及 PPMd、BZip2。7z 的代码以 GNU LGPL 发布,7-Zip 26.05 于 2026 年 10 月 21 日发布。
7z 压得小的原因之一是固实压缩。它把多个文件连接起来,当作一整段数据压缩,因此文件之间相似的部分(同一格式的文件头、反复出现的文字)可以一并压缩。代价是:要取出靠后的某个文件,也得先依次处理它前面的数据;中途一旦损坏,损坏处之后的数据也可能无法读取。7-Zip 的说明还提到,固实压缩包内文件的排列顺序(按名称还是按扩展名)可能会显著影响压缩率。
压缩和解压的速度差别很大。据 7-Zip 的说明,LZMA 在 4 GHz 的 CPU 上压缩速度约为每秒 2 至 8 MB(2 个线程),解压速度约为每秒 30 至 100 MB(1 个线程)。可以说它是一种制作慢、打开快的格式。
7-Zip 能对 7z 和 ZIP 两种格式进行 AES-256 加密,使用 7z 格式时还能制作自解压压缩包。7z 格式中还内置了 BCJ 等过滤器,先把 x86 或 ARM64 可执行文件这类有固定规律的数据转换一下再压缩。
RAR:恢复机制强,但制作需要 WinRAR
RAR 是 Alexander Roshal 设计的专有格式,能制作它的只有 RARLAB 的 WinRAR 和命令行版 RAR。WinRAR 是收费软件,购买前可以先用试用版(截至 2026 年 10 月的正式版为 7.23)。只需解压的话,可以用免费的 UnRAR,7-Zip 也能打开包括 RAR5 在内的 RAR 压缩包(但不能制作)。UnRAR 的许可规定,其源代码不得用于开发与 RAR 兼容的压缩软件,也不得用于重现其专有的压缩算法。这也是能写 RAR 的软件很少的原因之一。
从 RARLAB 发布的 RAR 5.0 格式说明可以看出它的主要功能:
- 恢复记录:放在压缩包后部的可选数据,在压缩包部分损坏时用于修复
- AES-256 加密:密钥通过 PBKDF2 由密码生成。连文件头也加密的话,不知道密码的人连文件名列表都看不到
- 固实压缩与分卷:格式中有表示固实压缩包的标志,也有把压缩包分成多个部分(分卷)的标志
- 自解压:可以在压缩包前面放置自解压模块(SFX)
在 RAR 5.0 的压缩包中,文件名的编码固定为 UTF-8,文件头中的文件名都以 UTF-8 保存,因此不容易出现 ZIP 那样的乱码。
按用途选择(文档的实测)
能压缩多少取决于内容。2026 年 10 月,本文作者在一台 macOS 26.5 的 Mac 上,把 44 个文档(HTML 模板与 JSON 文件,合计 616,972 字节)分别压缩成 ZIP 和 7z。ZIP 使用 macOS 的 zip 命令(Zip 3.0)的最大压缩(Deflate),7z 使用 macOS 的 bsdtar 3.5.3 生成的 LZMA2 压缩包。每项只测量了一次,数字仅供参考。
- 照片:JPEG 本身已经是压缩格式,无论 ZIP 还是 7z 都压不了太多
- 文档:ZIP 为 32.0 %(0.11 秒),7z 为 22.4 %(0.42 秒)。文字数据重复多,7z 的优势很明显:比 ZIP 小约三成,耗时则接近 4 倍
据此,可以按用途这样选择:
- 发送给别人:ZIP。无论对方用 Windows、Mac 还是手机,自带应用都能打开。日文文件名最好改成英文数字,或在制作时加上 UTF-8 标志(通用标志的第 11 位)
- 自己保存的文档和数据:7z。文档会比 ZIP 明显更小,还能用 AES-256 保护。固实压缩包中一处损坏容易波及后面,因此另存一份副本
- 大量照片:只为压缩的话,格式差别不大。发送就选 ZIP,想一起加密保护就选 7z,按是否方便打开而不是压缩率来决定
- 在不可靠的介质上长期保存:可以考虑带恢复记录的 RAR。但制作需要 WinRAR,接收方也需要能打开 RAR 的工具
打开方法:自带工具打不开时,用软件或浏览器工具
ZIP 在四种系统的自带应用中都能打开。7z 在 Windows 11 和 macOS 26.5 上可用系统自带功能打开,RAR 在 Windows 11 上可用自带功能打开。其他组合,尤其是在 iPhone 或 Android 手机上收到 7z 或 RAR 时,需要专门的应用或浏览器工具。Microsoft 的发布针对的是 Windows 11,所以在 Windows 10 电脑上收到 7z 或 RAR 时,也要使用 7-Zip 等软件或浏览器工具。
piclab 的解压工具只在浏览器内部打开 ZIP、7z 和 RAR,支持带密码和分卷的压缩包,文件不会发送到外部。在 iPhone 的 Safari 或 Android 的 Chrome 上,不必安装解压应用,就能只挑出需要的文件保存。
打不开时,先确认下面三点,往往比怀疑格式更快解决:
- 扩展名与内容是否一致:名字是 .zip,内容却可能是别的格式。自带应用提示不支持时,换用支持 7z 和 RAR 的工具试试
- 分卷是否齐全:ZIP 从 .z01 开始,RAR 从 .part1.rar 等开始,要把所有分卷放在同一位置
- 密码与加密方式:AES 加密的 ZIP 和连文件头都加密的 RAR,只有在支持它们的工具里才能进入输入密码这一步