Aback ZIP
本地处理
基础6 min read

什么是 ZIP 文件?

用通俗语言解释 ZIP 格式:容器、压缩方式,以及为什么 ZIP 有时不会变小。

ZIP 文件是一个包含其他文件和文件夹的单个文件,就像一个带有整理抽屉的盒子。内容可以被压缩以占用更少的空间,整个盒子可以作为一个整体移动、通过电子邮件发送或存储。

ZIP 文件实际上做什么?

ZIP 压缩包有两个作用。第一,打包:许多文件和文件夹变成一个文件,便于分享。第二,压缩:数据中的重复模式被更高效地编码,因此压缩包比各部分的总和更小。

ZIP 压缩的工作原理

大多数 ZIP 文件使用一种名为 DEFLATE 的压缩方式。它找到重复的字节序列,并引用之前的出现位置而不是重新写入,然后为最常见的符号分配更短的代码。

为什么有些文件不会变小

许多常见格式在内部已经压缩:

  • JPEG、PNG 和 WebP 图片
  • MP4、MP3 及其他媒体
  • 带有嵌入图片的 PDF 文档
  • DOCX、XLSX 和 PPTX 文件(它们本身就是 ZIP 压缩包)
  • 现有的 ZIP 文件

重新压缩它们就像包装一个密封的包裹:只会增加一点开销,几乎不会节省任何空间。

ZIP 文件的内部结构

ZIP 压缩包是一系列条目。每个条目都有一个本地文件头、压缩数据,以及文件末尾中央目录中的一条记录。中央目录列出每个条目的名称、大小、压缩方式、时间戳和用于验证数据完整性的 CRC-32 校验和。

存储与压缩

ZIP 文件可以完全不做压缩地存储条目,这称为存储模式。它占用的空间与原始文件相同,但文件仍被打包在一个压缩包中,从而避免在已经压缩的数据上浪费时间。

Frequently asked questions

ZIP 和 ZIPX 是同一个东西吗?

不是。ZIPX 是一种允许使用 LZMA、PPMd 和 BZip2 等更新压缩方式的扩展。标准 ZIP 工具可能无法打开 ZIPX 文件。

ZIP 文件可以包含任何内容吗?

可以,ZIP 是容器。它可以包含文档、图片、可执行文件或脚本,因此请谨慎对待来自未知来源的 ZIP 文件。