Brotli 流转 GZIP 流转换器

将 Brotli 文件转换为 GZIP 格式,用极少量的压缩效率损失换取通用的软件兼容性。

选择或拖放文件

选择或将文件拖放到此处

100% 浏览器端私密转换 - 文件绝不会离开您的设备

或粘贴 Ctrl+V
零网络传输隐私保证: 上传至外部服务器的数据为 0 字节。所有处理均在您的浏览器沙箱中本地完成。

格式比较与技术规格

规格BROTLIGZIP
MIME 类型application/x-brotliapplication/gzip
类型context-modeled stream compressionDEFLATE stream container
压缩Brotli LZ77 + 2nd order context modelingDEFLATE (RFC 1951)
标准规范IETF RFC 7932IETF RFC 1952
魔数文件头 (Magic Bytes)Brotli byte stream headers (WBITS / sliding dictionary)1F 8B (gzip ID1/ID2)

格式概述与应用

Web 开发者和系统管理员经常需要将压缩文件从 Brotli 格式转换为较旧的 GZIP 格式。虽然网页浏览器非常喜欢使用 Brotli 来快速传输网页,但较旧的服务器、旧版备份工具和命令行脚本有时无法读取它。将压缩流转换为 GZIP 可以让这些旧系统毫无问题地打开和提取数据。 当在现代云存储桶和旧版本地硬件之间移动静态资产时,这种转换经常发生。网络设备和较旧的安全扫描程序也依赖于 GZIP 检查例程。通过将字节流从 Brotli 转换为 GZIP,工程师确保了处理管道中的每个系统都可以读取压缩载荷。

技术规格与编解码器解析

Brotli 流使用 application/x-brotli,并依赖于结合了二阶上下文建模和静态前缀代码的高级 LZ77 算法。相比之下,GZIP 文件使用 application/gzip,并包装使用 DEFLATE 算法压缩的数据,该算法将 LZ77 与 RFC 1951 中定义的哈夫曼编码配对。魔数签名决定了软件如何识别这些流。GZIP 文件始终以两字节的头部序列 0x1F 0x8B 开头。Brotli 流不以相同的方式使用固定的全局魔数字符头,而是依赖于可变长度的位流头部,其中前几位定义了窗口大小和流长度。

操作系统与浏览器兼容性

GZIP 在所有现代操作系统(包括 Windows、macOS、Linux、iOS 和 Android)中都享有普遍支持。内置的系统实用程序(如 tar、gunzip 和 7-Zip)原生处理 GZIP。Brotli 在现代网页浏览器和现代 Linux 内核中得到了很好的支持,但旧版命令行工具和较旧的编程语言运行时通常缺乏用于原始 Brotli 流的原生解码库,这使得 GZIP 成为通用文件传输的安全选择。

💡 实用信息

在批量转换文件之前,请务必验证您的解压目标是否支持 RFC 1951,因为某些嵌入式微控制器仅包含最少的 GZIP 解析例程。

格式比较与技术规格

一个用 Brotli 压缩到 2 MB 的 10 MB 文本文件在转换为 GZIP 时可能会扩展到 2.2 MB。在运行速度为每秒 15 兆位的 4G 移动网络上,传输 GZIP 文件大约需要 1.17 秒,而不是 Brotli 的 1.06 秒,这增加了微不足道的延迟,却换取了更广泛的兼容性。

常见问题

如何将 Brotli 流转换为 GZIP 流而不损失质量?

这两种格式都使用无损压缩算法。这意味着文件内容可以解压缩回确切的原始字节序列,零数据丢失或质量降低。

Brotli 流和 GZIP 流有什么区别?

Brotli 使用更现代的上下文建模方法,可实现更高的压缩比,特别是对于文本和网页代码。GZIP 使用较旧的 DEFLATE 算法,其压缩效率略低,但运行速度更快,并且适用于几乎所有设备。