§

粘贴或输入您想要压缩的文本。

对于二进制数据(如图像、文档),请使用下面的文件上传表单。
§

Output

gzip
原始(字节): 0 · 已压缩(字节): 0 · 比率:
§

使用 GZIP 压缩文件

选择要上传并压缩的文件。

拖放文件到此处或点击选择

国内云原生与大数据生态对 GZIP 依赖极深。阿里云函数计算与腾讯云 SCF 的部署包必须以 GZIP 压缩后上传至 OSS、COS,否则冷启动会被限流;华为云 ModelArts、百度智能云 BCC 的日志服务在向 ELK 投递前默认对每条 Pipeline 做 GZIP 压缩;美团、京东物流的订单批处理任务输出至阿里云 MaxCompute、腾讯 TDSQL 时,中间结果以 GZIP 写入 HDFS 节省带宽;接入抖音电商 ROI 报表的 Open API 时,响应体超过 1 MB 也会自动 GZIP,客户端需识别 Content-Encoding。

什么是 GZIP 压缩?

GZIP 是由 RFC 1952 定义的无损文件压缩格式。它将由 DEFLATE 算法(RFC 1951)产生的有效载荷包装起来,该算法结合 LZ77 反向引用与 Huffman 编码,将重复数据压缩为紧凑的字节流。

GZIP 压缩是如何工作的?

您的输入完全在浏览器中通过原生 CompressionStream('gzip') API 进行处理。主要步骤如下:

  1. 工具将您的文本或文件转换为字节流(文本输入使用 UTF-8)。
  2. 这些字节通过配置为 gzip 格式的 CompressionStream 进行处理。
  3. 浏览器应用 DEFLATE:滑动窗口 LZ77 扫描查找重复序列,Huffman 编码为常见符号分配更短的代码。
  4. 在 DEFLATE 载荷外包裹 10 字节的 gzip 头和 8 字节的尾部(原始数据的 CRC32 加上原始长度对 2^32 取模),生成标准的 .gz 容器。
  5. 对于文本输入,结果以 Base64 或十六进制呈现;对于二进制输入,则提供可下载的 .gz 文件。

为什么使用 GZIP 进行压缩?

  • 更小的负载:文本、JSON、HTML、CSS 和源代码通常会压缩为原始大小的一小部分。
  • 行业标准:几乎所有 HTTP 服务器、CDN、浏览器、归档工具和编程语言的标准库都能识别 GZIP。
  • 隐私:压缩完全在您的浏览器中进行。输入永远不会到达我们的服务器。
  • 支持双向操作:输出可使用 gunzip 命令行、HTTP Content-Encoding: gzip,以及 Python、Node.js、Go、Java 或 Rust 中的任何 RFC 1952 读取器进行解压。

GZIP 压缩的常见应用有哪些?

GZIP 在整个 Web 和命令行工具中被广泛使用:

  • HTTP 传输:Web 服务器使用 GZIP 压缩响应,使页面在网络上加载得更快。
  • 日志归档:长期保留的服务器日志以 .gz 文件形式存储以减少磁盘占用。
  • 备份和打包:tarball(.tar.gz)压缩整个目录树以便于便携分发。

GZIP 压缩示例是什么样的?

包含许多重复字段名的 1 KB JSON 文档通常可压缩到约 200–300 字节——大小减少四到五倍。大型文本日志的压缩率通常达到 90% 或更高。已经压缩过的输入(JPEG、PNG、MP4、ZIP)无法进一步压缩,反而可能因 GZIP 包装而增加几个字节。

此 GZIP 压缩器直接在您的浏览器中生成标准 RFC 1952 输出。无论是在传输前压缩负载,还是生成用于归档的 .gz 文件,结果都能与网络上的所有 GZIP 兼容工具互操作。