压缩包里有什么
编码所有处理都在浏览器本地完成,数据不上传服务器
拖一个压缩包进来,看它里面有什么。 一个字节都不用解压。 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 项的包)
- 解析容错:中央目录有读不通的地方,列出能读到的部分而不是整次失败
- 文件不上传,全部在本机完成
使用方法
- 把压缩包拖进上面的区域(或点击选择文件)
- 读文件数与总体积;需要时用过滤框只看某一类文件
- 点某一行的复制按钮取走文件名
常见问题
- 为什么这么快?是不是没解压就不准?
- 准确,而且快正是因为没解压。ZIP 的三个关键信息 —— 文件名、压缩前后大小、压缩方式 —— 全部登记在文件末尾的中央目录里,那是格式规定的目录,不是估算。所以「里面有多少文件、解压后多大」是读出来的,不是算出来的。真正要拿到文件内容时才需要按目录里的偏移去解压,而这个工具不做那一步。
- `.tar.gz` 为什么不行?
- 因为它是两层:gzip 包着一整个 tar。gzip 只能压缩单个数据流,它不知道「文件」是什么,所以里面没有文件列表可读;tar 才有列表,但被 gzip 压在下面。先把它喂给「Gzip 压缩解压」得到 `.tar`,再看那个 tar 里有什么 —— 不过 tar 的目录结构与 ZIP 完全不同,本站目前没有 tar 工具。
- 加密的压缩包能列出文件名吗?
- 能,而且这不是本工具的取巧 —— ZIP 的加密只保护文件内容,不保护中央目录。目录里明明白白写着每个成员的名字、大小与算法,任何 ZIP 工具都能读到。反过来这也意味着:发一个「加了密码」的 ZIP 出去,文件的名字与大小仍然是公开的(这是 ZIP 加密常被忽略的一点,要藏文件名得用别的格式)。
相关工具
Gzip 压缩解压
编码把文本压成 gzip 并输出 Base64 或十六进制,也能反过来解压,附带原始大小与压缩比,全部在浏览器本地完成。
文件哈希
编码拖入文件即可算出 MD5、SHA-1、SHA-256、SHA-512 与 CRC-32,用来校验下载是否完整、文件有没有被改过。文件不上传,全部在本机计算。
文件头识别
网络从开头几个字节判断文件的真实类型。收录近 60 种常见格式,支持带偏移的签名,也能反查某个格式的 magic bytes。
Base64 编解码
编码把文本转成 Base64,或把 Base64 还原成文本,中文与 emoji 都按 UTF-8 正确处理。全部在浏览器本地完成,内容不上传。
URL 编解码
编码把中文、空格与符号转义成 %XX,或把 %XX 还原成文本;整条 URL 与单独的参数值要选对方式,选错不会报错,但链接会打不开。全部在浏览器本地完成。
HTML 实体编解码
编码把 < > & 与引号转成 HTML 实体,也能把实体还原成字符,而且只解一遍:&lt; 得到的是 < 而不是尖括号。全部在浏览器本地完成。