上传文件
  1. base64hub
  2. 文件工具
  3. Base64 转 ZIP

Base64 转 ZIP

粘贴 Base64 编码的 ZIP,即可查看里面有什么,单独打开或保存某个文件,也可以下载整个压缩包。除了你的设备,任何地方都不会解压它。

免费 无需注册,不限次数 本地 不上传任何内容 逐个条目 查看或保存压缩包中的任意文件 更新于 2026年10月27日
输入 –输出 –大小 –

在你的浏览器中处理。此页面无法将你的数据发送到任何地方: 我们如何确认

如何将 Base64 解码为 ZIP 文件

  1. 把 Base64 粘贴到 Base64 或 data URI,或者用 打开 .txt 文件 打开包含它的文本文件。
  2. 摘要会显示文件和文件夹的数量、解压后的大小及压缩节省的比例、压缩包注释(如果有),以及压缩包是否使用 ZIP64、是否包含受保护的条目。
  3. 表格列出每个条目的 大小、压缩后 大小和 修改时间,并提供 查看 和 保存 按钮。
  4. 点击 下载文件 保存压缩包本身。

最多列出 500 个条目;压缩包更大时,会有一行提示还有多少个条目未列出。在你点击按钮之前不会解压任何内容,而且一切都在你的浏览器中进行。页面的内容安全策略(CSP)禁止除 Cloudflare 的浏览量统计以外的网络请求,因此压缩包不可能被上传。

打开压缩包中的单个文件

查看 会解压一个条目并在表格下方预览:图片、PDF、音频和视频、文本和 JSON,甚至 ZIP 中的 ZIP,最多三层。保存 会以该文件自己的名称下载它,不带文件夹路径。每个解压出的条目都会与压缩包中存储的 CRC-32 进行比对,不一致时会提示“校验和不匹配:此条目已损坏。”

普通解压程序容易出错的压缩包,这里的列表也能应付:

  • ZIP64 压缩包,用于超过 4 GB 的文件或超过 65,535 个条目。
  • 文件名使用 UTF-8、旧版 Windows 工具使用的老式 DOS 代码页 437,或带有 Info-ZIP Unicode 路径字段。
  • 自解压压缩包以及前面带有额外数据的其他 ZIP。
  • 被截断的压缩包:末尾的目录缺失时,工具会根据每个文件前面的文件头恢复条目,并给出提示:“缺少中央目录(数据似乎被截断了)。”数据被截掉的条目会报告数据缺失。

经典的 ZIP 时间戳没有时区,所以 修改时间 显示的是创建压缩包的那台机器上的时钟时间。如果条目的扩展字段中还带有 Unix 时间戳,则使用该时间戳,并按你的本地时间显示。

哪些条目可以解压

条目列出查看和保存
仅存储(方法 0)是是
Deflate(方法 8)是是
Deflate64、BZIP2、LZMA、Zstandard、XZ、PPMd是,括号中注明方法否:“浏览器不支持压缩方法 BZIP2。”
已加密,ZipCrypto 或 AES是,标记为 [受保护]否:“此条目受密码保护:可以列出,但无法解压。”
文件夹是否

Windows、macOS 和 zip 命令创建的压缩包都使用 Deflate。其他方法大多来自 7-Zip 或 WinZip,是有人为了更高的压缩率特意选择的。

zip 炸弹防护

压缩可以把一个很小的下载变成一个巨大的文件。100 MiB 的零字节经 deflate 压缩后大约只有 100 KB,嵌套或特制的压缩包还能把这个比例推得更高。解压某个条目之前,工具会检查压缩包中声明的大小,超过 64 MB 的一律拒绝,并提示“解压到 64.0 MB 时已停止:太大,无法在浏览器中解压(可能是 zip 炸弹)。请改为下载压缩包。”解压过程中,它也会在达到声明大小再加 1 KB 时停止,所以谎报大小的条目无法超出它声称的大小。

摘要行仍会显示声明的总大小,这本身就是一个有用的警告:几百 KB 的压缩包解压后有好几 GB,无论用什么工具解压之前都值得怀疑。

真的是 ZIP 吗?

ZIP 文件以 PK 加两个字节开头,在 Base64 中就是 UEsDB;空压缩包以 UEsFBg 开头。许多格式其实是换了名字的 ZIP 压缩包,工具会指出是哪一种:DOCX、XLSX、PPTX、EPUB、ODT、JAR、APK。它们都可以在这里列出和解压;Office 文档还可以在 Base64 转 Word 和 Base64 转 Excel 中预览文本。

其他压缩格式不是 ZIP。工具能解压 gzip,但无法打开 7-Zip 或 RAR:

Base64 开头格式结果
H4sIgzip(.gz、.tar.gz)解压并预览,提供 下载为 .gz
N3q8ryc7-Zip“这看起来不像 ZIP(检测到:7-Zip)”
UmFyIRoRAR“这看起来不像 ZIP(检测到:RAR)”

对于 7-Zip 和 RAR,扩展名 会保持为 zip。下载前请把它改为 7z 或 rar,否则系统会尝试把它当作 ZIP 打开,结果会失败。

用 Python 解压 Base64 ZIP

zipfile 可以直接读取解码后的字节,无需先写入磁盘:

import base64, io, zipfile

with open("archive.b64") as f:
    data = base64.b64decode(f.read())

with zipfile.ZipFile(io.BytesIO(data)) as z:
    for info in z.infolist():
        print(f"{info.filename:20} {info.file_size:>8} method={info.compress_type}")
    z.extract("docs/readme.txt", "out")

method 列显示的数字与上表一致:0 为仅存储,8 为 Deflate,12 为 BZIP2,14 为 LZMA。这四种 Python 都能解压。在 shell 中,base64 -d archive.b64 > archive.zip && unzip -l archive.zip 可以列出内容。要从文件生成这样的字符串,请参阅 ZIP 转 Base64 和 Python 中的 Base64。

常见问题

怎么把 Base64 转换成 ZIP 文件?

把字符串粘贴到上方,点击 下载文件 即可保存为 decoded.zip。如果只想取出其中一个文件,点击列表中该文件旁边的 保存。

能在这里打开受密码保护的 ZIP 吗?

条目会列出来并带有 [受保护] 标记,但无法在浏览器中解压。请下载压缩包,用 7-Zip、unzip 或系统自带的解压工具打开,它们会要求输入密码。

为什么某个条目提示不支持其压缩方法?

浏览器只能解压 Deflate,几乎所有 ZIP 都使用这种方法。用 BZIP2、LZMA、Deflate64、Zstandard 或 PPMd 压缩的条目(通常出自 7-Zip 或 WinZip)会被列出,但需要用桌面工具或 Python 的 zipfile 解压,后者能读取 BZIP2 和 LZMA。

我的 Base64 以 H4sI 开头,这是 ZIP 吗?

不是,那是 gzip。工具会提示它看起来是 GZIP,解压后显示其中的内容;.tar.gz 里面是一个 TAR 归档。下载为 .gz 会使用正确的扩展名保存。