Skip to content
Back to Blog
informational

7Z 是什么?一种高压缩率的归档格式

2026-05-17 8 min read

7Z 到底是什么

7Z(或 .7z)是一种开源的归档格式,它的诞生只有一个目标:实现最大程度的压缩。它由伊戈尔·巴甫洛夫 (Igor Pavlov) 在 1999 年为他的 7-Zip 项目创建,旨在比其前辈们更大幅度地压缩文件。与 ZIP 或 RAR 在压缩率、速度和兼容性之间寻求平衡不同,7Z 的首要目标是效率。它使用 LZMA 和 LZMA2 等强大的算法,通常能使文件比包含完全相同数据的标准 ZIP 归档小 30-70%。 这个名字本身就致敬了它的历史,源于 7-Zip 0.07 版本,这是第一个支持该格式的版本。由于其规范是公开发布的,一个庞大的工具生态系统——包括 PeaZip、WinRAR、macOS 内置的归档实用工具以及许多命令行工具——都可以读写 .7z 文件,没有任何许可方面的麻烦。 一个 .7z 文件本质上是一个容器,存放着文件及其元数据,如文件名和时间戳。它的秘密武器是“固实压缩” (solid compression)。这项技术在压缩之前,将多个文件视为一个单一、连续的数据块。这就是为什么在归档包含大量相似文件的文件夹时,比如一个源代码目录或每日日志文件,7Z 的效果远胜于 ZIP,因为它能在众多文档中发现并利用重复的模式。

7Z 压缩原理:LZMA 和 LZMA2 解析

7Z 令人印象深刻的压缩率源于其使用的 Lempel–Ziv–Markov chain 算法,简称 LZMA。它与 ZIP 使用的算法 (LZ77) 同属一个家族,但通过更高效的范围编码器以及——最重要的一点——巨大的字典大小,得到了极大的增强。 字典大小非常关键。真的非常关键。ZIP 的 DEFLATE 算法使用一个微不足道的 32 KB 字典来查找重复数据。而 LZMA 的默认大小是 16 MB,并且可以配置为使用 1 GB 或更大。这使得压缩器能够从文件中更早的位置找到并替换重复的数据序列,这对于大文件来说是颠覆性的。如果你压缩一个 500 MB 的 SQL 数据库转储文件,ZIP 压缩后可能是 120 MB,但 7Z 可以轻松做到 80 MB。当你需要为云存储付费或在慢速网络上传输备份时,这种差异就非常明显了。 现代的 7-Zip 默认使用 LZMA2,它本质上是支持多线程的 LZMA。在多核处理器上,LZMA2 的压缩速度可以比原始 LZMA 快两到四倍,而压缩率几乎没有损失。你甚至可以在 7-Zip 的图形界面中,通过“添加到归档”对话框来控制它使用的 CPU 线程数。 7Z 还很灵活。它可以将 BZip2、PPMd(对纯文本效果极佳)甚至旧的 Deflate 算法作为备用选项。它还支持一种 Delta 过滤器,可以改善对具有字节级模式的文件(如 WAV 音频或未压缩的位图图像)的压缩效果。这种适应性使得它即使在 LZMA 不是完美选择的情况下,也依然是一个可靠的选项。

7Z、ZIP 与 RAR:一次实事求是的比较

选择一种归档格式是在压缩率、速度和兼容性之间进行权衡。没有哪种格式是“最好”的,只有最适合特定任务的格式。 在纯压缩率方面,7Z 是无可争议的冠军。对于一个典型的包含文档和源代码的文件夹,使用 LZMA2 的 7Z 会将文件缩小 60-65%。同样内容的 ZIP 文件通常能做到 45-50% 左右,而 RAR5 则介于两者之间,大约 55-60%。对于像文本日志或 XML 导出这样高度重复的数据,这种差异会变得更加显著。 但这种高压缩率是以速度为代价的。LZMA 的计算量很大,所以创建一个 7Z 归档比创建 ZIP 要慢得多。然而,解压缩的速度却出奇地快,与 ZIP 相当。如果你只创建一次归档,然后供人多次下载,那么最初花在压缩上的时间是值得的。但如果你需要每五分钟快速打包一次轮替的日志文件,那么 ZIP 或 gzip 的速度会更实用。 兼容性是 ZIP 的主场优势。它内置于所有主流操作系统中——Windows、macOS、iOS、Android——无需任何额外软件。RAR 文件可以在大多数平台上解压,但创建它们需要 WinRAR 或兼容的工具。7Z 在桌面端享有良好支持,但在移动设备或用户无法随意安装 7-Zip 的严格企业环境中,可能会带来一些麻烦。 在功能方面,7Z 提供强大的 AES-256 加密(包括文件名加密)、分卷压缩和固实压缩。RAR 的独特功能是恢复记录,可以修复归档中的轻微损坏;7Z 没有直接对应的功能。而 ZIP 虽然无处不在,但原生缺乏固实压缩和安全的文件名加密。 我的建议很简单:当最终文件大小是你的首要任务,并且你知道接收方能处理它时,就用 7Z。对于其他所有情况,特别是当你需要确保对方一定能打开文件时,就用 ZIP。

什么时候该用 7Z(什么时候不该用)

那么 7Z 究竟在哪些场景下大放异彩呢?它非常适合归档大型软件包、备份源代码仓库以及分发像游戏模组这样的大文件。在这些场景中,卓越的压缩率带来了实实在在的好处。一个 ZIP 格式下 800 MB 的游戏模组,换成 7Z 可能会缩小到 520 MB。对于那些网络连接速度慢或按流量计费的用户来说,这是一个巨大的改进。 当你有许多内容相似的小文件时,固实归档功能尤其强大。想象一个包含 10,000 个小型 JavaScript 文件的项目。逐个压缩它们效率很低。在一个固实 7Z 归档中,LZMA 算法可以一次性地在所有文件中找到并消除冗余,从而得到一个体积小得多的归档文件。但请注意,从一个大型固实归档中提取单个文件可能会很慢,因为解压器可能需要从数据块的开头开始处理。 不要浪费你的 CPU 算力去尝试重新压缩那些已经压缩过的文件。用 7Z 处理 MP4 视频、JPEG 图像或 MP3 音频几乎不会减小它们的体积——有时甚至可能使它们略微变大。同样的情况也适用于那些本身就是 ZIP 归档的格式,比如 DOCX、XLSX 和 EPUB 文件。 说实话:如果你要给一个不太懂技术的人发邮件,发送 .7z 附件简直是自找麻烦,等着接对方打来的求助电话吧。许多公司的邮件过滤器也默认会阻止 .7z 文件,把它们和可执行文件归为一类。在这些情况下,无论 ZIP 的压缩率有多弱,它始终是阻力最小的选择。

7Z 归档文件的加密与安全

7Z 提供了强大的 AES-256 加密,这是银行和政府机构所信赖的同一标准。当你为 .7z 归档设置密码时,文件内容会被安全加密。然而,真正的安全优势来自于勾选“加密文件名”这个选项。这会加密归档的整个目录结构。一个拥有文件但没有密码的攻击者,甚至无法看到里面有哪些文件,更不用说打开它们了。 这是相比 ZIP 的一个重大进步。虽然现代 ZIP 也支持 AES-256,但默认情况下它仍然会暴露文件名。而该格式最初的 ZipCrypto 算法是出了名的脆弱,绝不应该用于敏感数据。为了真正的保密性,7Z 是显而易见的赢家。 当然,如果你用的是像“password123”这样的糟糕密码,那么世界级的加密也毫无意义。归档的安全性完全取决于你选择的密码。务必使用一个长而随机生成的密码短语。7-Zip 不会强迫你使用强密码,所以责任完全在你身上。 7Z 归档没有内置的数字签名支持来证明其真实性。如果你需要验证一个归档在传输过程中没有被篡改,标准的做法是生成一个单独的校验和文件。你可以使用 Windows 上的 CertUtil (`certutil -hashfile archive.7z SHA256`) 或 macOS 和 Linux 上的 `shasum -a 256` 等工具,在几秒钟内创建一个 SHA-256 哈希值。

使用 CocoConvert 转换和提取 7Z 文件

如果你需要在不安装任何软件的情况下处理 .7z 归档,CocoConvert 可以直接在你的网页浏览器中完成这项工作。你可以上传一个 .7z 文件来提取其内容,或者通过从 ZIP、TAR、GZ 和 RAR 等其他格式转换来创建一个新的 .7z 归档。整个过程设计得非常简单:上传文件,选择你的输出格式,然后下载结果。 对于一些常见任务——比如把你收到的 ZIP 转换成更小的 7Z 以便存储,或者在你没有安装 7-Zip 的情况下打开一个 .7z 文件——CocoConvert 是一个完美的选择。我们有每次上传 2 GB 的文件大小限制,并且所有转换都在我们的安全服务器上进行。你的文件在处理一小时后会自动删除。 我们也信奉坦诚地说明我们工具的局限性。CocoConvert 是为方便而生,而非为高级用户打造。你在这里找不到对 LZMA 设置的精细控制,比如字典大小、固实块配置或线程数。如果你的目标是从一个庞大的数据集中榨干每一千字节,或者创建复杂的分卷归档,你仍然需要免费的 7-Zip 桌面应用程序(可在 7-zip.org 下载)或像 p7zip 这样的命令行工具。 同样,CocoConvert 不支持创建受密码保护的 7Z 归档,也无法提取你上传的加密归档中的文件。这些是出于在 Web 服务上处理敏感凭据的安全考虑而做出的刻意设计选择,并非技术疏忽。对于任何涉及加密的任务,你都应该使用像 7-Zip 这样的本地工具。

使用 7Z 文件的实用技巧

养成一些好习惯会让你处理 .7z 归档时轻松得多。 首先,明智地选择你的压缩等级。7-Zip 提供了一个从“仅存储”(不压缩)到“极限”的范围。老实说,对于几乎所有情况,“标准”或“最大”都是最佳选择。“极限”设置运行时间要长得多,而通常只能额外为你节省 3-5% 的文件大小。除非你是一名开发者,需要向数百万人分发文件,每一兆字节都很重要,否则这通常不值得等待。 使用分卷归档来处理巨大的文件。如果你有一个 4 GB 的文件,但需要通过一个有 2 GB 上传限制的服务发送它,7-Zip 可以把它切分开。在“添加到归档”对话框中,找到“分卷大小,字节”选项,然后输入一个像“2000m”这样的大小来创建 2000 MB 的分卷。接收方只需打开第一个分卷(.7z.001),7-Zip 就会自动处理整个文件的重组。 养成在删除源文件之前测试归档的习惯。右键点击归档文件,进入“7-Zip”,然后选择“测试压缩包”。它会运行一个快速的 CRC 校验,以验证每个文件都完好无损。这只需要几秒钟,却能让你免于未来的灾难。 在 Windows 上要小心过长的文件路径。在 Linux 上创建的归档很容易包含超出 Windows 经典的 260 个字符限制的文件路径。如果你尝试在旧版 Windows 系统上解压它,就会失败。在 Windows 10/11 上,你可以通过在注册表中启用长路径支持来解决这个问题,或者使用较新版本的 7-Zip (22.00+) ,它通常可以自动处理这种情况。 最后,保持你的 7-Zip 客户端是最新版本。该项目会根据需要发布安全补丁,旧版本存在已知的漏洞。最新的稳定版本总能在 7-zip.org 上找到。