Gzip 解压与压缩工具

将 Base64 gzip 或十六进制 gzip 数据解压为可读文本,或将文本压缩为 Base64 gzip,并显示大小对比。全部在浏览器中完成——不上传任何数据。

压缩 Base64 编码 客户端处理

如何使用 Gzip 解码器

1

选择模式

选择压缩或解压模式。

2

输入数据

输入文本(压缩模式)或 Base64 编码的 Gzip 数据(解压模式)。

3

转换

点击转换按钮,查看结果和大小统计。

什么是 Gzip?

Gzip 是一种广泛使用的文件压缩格式和软件应用。它基于 DEFLATE 算法,结合 LZ77 和 Huffman 编码。在 Web 开发中,服务器常用 Gzip 压缩 HTTP 响应以减少传输数据量。

常见用途

Web 压缩

HTTP 响应的 Content-Encoding: gzip

文件压缩

Unix/Linux 系统中的 .gz 文件

API 数据

压缩 API 响应以减少带宽

为什么 Base64 和 Gzip 总是一起出现?

原始 gzip 数据是二进制的,无法存入只接受文本的场合。Base64 把压缩后的字节编码为安全的 ASCII 字符,因此"Base64 编码的 gzip"在现代系统中无处不在:

云服务错误响应

S3 等云服务会以 Base64/JSON 形式返回 gzip 压缩的错误内容

无服务与消息队列

Lambda 负载和 SQS/Kafka 消息先压缩再 Base64 编码以保持文本安全

HTTP 与 API 报文

大型 JSON 负载以 Content-Encoding: gzip 压缩,并以 Base64 存于文本字段

日志与 Webhook

压缩后的日志批次和 Webhook 负载以 Base64 字符串传输

本工具一步完成组合操作:粘贴 Base64 字符串,自动解码 Base64 并解压 gzip,还原可读文本。也支持十六进制编码的 gzip 字节(如 1f 8b 08)。

常见问题

Gzip 和 ZIP 有什么区别?

Gzip 只压缩单个文件/数据流,ZIP 可以打包和压缩多个文件。Gzip 的压缩算法通常与 ZIP 相同。

为什么解压失败?

请确保输入的是有效的 Base64 编码的 Gzip 数据。如果原始数据不是 Gzip 格式,解压会失败。

压缩率如何?

压缩率取决于数据内容。文本数据通常可压缩 60-80%,而已经压缩过的数据(如 JPEG)几乎无法再压缩。

如何解码 Base64 编码的 gzip 数据?

选择解压模式并粘贴 Base64 字符串。工具先将 Base64 还原为二进制 gzip 字节,再用 DEFLATE 算法解压并显示可读文本,无需手动分两步操作。

Gzip、Deflate 和 Zlib 有什么区别?

三者都使用 DEFLATE 压缩算法,但封装方式不同。Zlib 在原始 deflate 流外加了小头部和校验和;Gzip 用文件格式封装 deflate,包含头部、时间戳和 CRC32 校验。HTTP Content-Encoding 的标准值是 "gzip"。

如何在命令行压缩或解压 .gz 文件?

gzip file.txt 会压缩为 file.txt.gz 并删除原文件;加上 -k 可保留原文件。解压时使用 gunzip file.txt.gz 或 gzip -d。若要一次性处理多个文件,tar czf archive.tar.gz dir/ 可一步完成打包与压缩,tar xf 则用于解包。zcat 能直接流式输出 .gz 文件的内容而不写入任何文件——处理压缩日志时非常方便。

我应该选用哪个压缩级别?

zlib 提供 1-9 共九个级别:1 最快但输出最大,9 压缩率最高但最慢,6 是默认值,接近文本压缩的最佳平衡点。级别 7-9 相比 6 通常只能多压缩个位数的百分比,耗时却明显更长。对于 Web 响应而言,CPU 时间往往比最后 5% 的体积缩减更重要。

有了 Brotli 和 zstd,gzip 还重要吗?

非常重要。gzip(RFC 1952)是通用的后备方案——所有 HTTP 客户端、服务器和软件包格式都支持它;而 Brotli 借助内置字典,能在相近速度下将 Web 文本多压缩 15-20%;zstd 则在高压缩比下拥有更快的压缩与解压速度。HTTP 内容协商会自动选择双方共同支持的最优编码;.tar.gz 仍是跨平台归档的默认格式。

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}