解压与打包:弄清「打包不等于压缩」
这一类操作有两个方向:把压缩包解开(**解压**),或把一堆文件收进一个压缩包(**打包**)。最常见的误解是把「打包」当成「压缩体积」—— 打包主要是**合并成一个文件便于发送**,对已经压过的格式(JPG、PNG、MP4、PDF)几乎不会变小。
解压:大包也能处理
清单只读取压缩包**尾部的目录信息**,不解压任何内容,因此几个 GB 的包也能立刻列出文件与大小。
解压时是**边解边写**:内存里始终只有一小块数据,单个文件上限 2GB、合计 8GB。遇到加密条目、LZMA 等浏览器不支持的压缩方式、或损坏的条目,会**按原因列出被跳过的文件** ——不会静默少给你文件。整个过程可以随时取消。
打包:为什么上限是 3.9GB / 65000 个文件
打包时按 64KB 边读边压边写,因此可以处理很大的内容;但上限不是随便定的,而是**格式本身**决定的:经典 ZIP 用 4 字节记录偏移、2 字节记录条目数,超过就必须用 ZIP64 扩展,而浏览器里这套写入器不写 ZIP64 ——越界不会报错,只会产出一个任何工具都打不开的包。因此宁可明确封顶。
超过上限时请分批打包。另外:**没写完的压缩包没有任何价值**(缺少中央目录),因此取消或出错时它会被丢弃,而不会留在你的下载目录里冒充成功。
全程本地
解压与打包都在浏览器里完成,压缩包不会上传。大包「打包为 ZIP 下载」时会边压边送进浏览器下载,因此**下载完成前不要关闭页面**;想直接写到你选定的文件夹(关掉页面也不受影响),请用「打包并保存到…」。