piapia123
zh

压缩包里有什么

编码

所有处理都在浏览器本地完成,数据不上传服务器

把文件拖到这里,或点击选择

单个文件 · 全程在本机处理

文件只在你的浏览器里读取,不会上传到任何服务器。断网也能正常用。

拖一个压缩包进来,看它里面有什么。 一个字节都不用解压。 ZIP 的格式规定每个成员都在文件末尾的中央目录里登记着名字、大小、压缩方式与偏移 —— 所以列一个 5 GB 的包也只是跳到文件末尾读几 KB 的事。这也是这个工具瞬间出结果的原因。 凡是 ZIP 格式的都认,不只是 `.zip`:`.jar`、`.apk`、`.docx`、`.xlsx`、`.pptx`、`.epub`、`.war`、`.ipa`、`.crx` 全是 ZIP,只是扩展名不同。反过来,`.tar.gz` 不认 —— 那是 gzip 套着 tar,不是 ZIP,先用「Gzip 压缩解压」把它解成 `.tar` 再说。 加密的成员会标出来,但它们的内容读不了 —— 列出名字没问题,因为名字不在加密范围内(这也是为什么加密的 ZIP 仍然会泄露文件名列表)。 列表是树形的:用缩进表示目录层级,目录行以 `▸` 开头、与文件行一眼可分。汇总给出文件数、目录数、解压后总大小、压缩后总大小与压缩率;每个文件行还单独给出自己的压缩率与压缩前后大小。 文件不离开这台设备:解析全在浏览器内存里完成,大包也不会被上传。

功能

  • 拖入 ZIP / JAR / APK / DOCX / XLSX / PPTX / EPUB / WAR / IPA / CRX 等
  • 只读中央目录,不解压,大包瞬间出结果
  • 树形列表:用缩进表示目录层级,目录行与文件行一眼可分
  • 每个文件行给出解压后 / 压缩后大小、它自己的压缩率与压缩方式
  • 汇总给出文件数、目录数、解压后总大小、压缩后总大小与整体压缩率(只统计记录了压缩后大小的条目,口径写在结果里)
  • ⚠️ 存储(不压缩)的条目压缩率是 0%;没记录压缩后大小的流式条目写「未记录」,不给一个错的数
  • 标出被加密的成员与目录项
  • 按文件名过滤(例如只看 .js),可按名称或大小排序
  • 支持 zip64(超过 4 GB 或超过 65535 项的包)
  • 解析容错:中央目录有读不通的地方,列出能读到的部分而不是整次失败
  • 文件不上传,全部在本机完成

使用方法

  1. 把压缩包拖进上面的区域(或点击选择文件)
  2. 读文件数与总体积;需要时用过滤框只看某一类文件
  3. 点某一行的复制按钮取走文件名

常见问题

为什么这么快?是不是没解压就不准?
准确,而且快正是因为没解压。ZIP 的三个关键信息 —— 文件名、压缩前后大小、压缩方式 —— 全部登记在文件末尾的中央目录里,那是格式规定的目录,不是估算。所以「里面有多少文件、解压后多大」是读出来的,不是算出来的。真正要拿到文件内容时才需要按目录里的偏移去解压,而这个工具不做那一步。
`.tar.gz` 为什么不行?
因为它是两层:gzip 包着一整个 tar。gzip 只能压缩单个数据流,它不知道「文件」是什么,所以里面没有文件列表可读;tar 才有列表,但被 gzip 压在下面。先把它喂给「Gzip 压缩解压」得到 `.tar`,再看那个 tar 里有什么 —— 不过 tar 的目录结构与 ZIP 完全不同,本站目前没有 tar 工具。
加密的压缩包能列出文件名吗?
能,而且这不是本工具的取巧 —— ZIP 的加密只保护文件内容,不保护中央目录。目录里明明白白写着每个成员的名字、大小与算法,任何 ZIP 工具都能读到。反过来这也意味着:发一个「加了密码」的 ZIP 出去,文件的名字与大小仍然是公开的(这是 ZIP 加密常被忽略的一点,要藏文件名得用别的格式)。

相关工具