compress/decompress
# 压缩算法
# 常用压缩
# brotli
Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate but offers more dense compression.
commandbrew install brotlibrotli -o <out>.br <input>
LZ77 算法: 使用 LZ77 算法进行数据压缩, 该算法通过找到数据中的重复模式来实现压缩
Huffman 编码: 利用 Huffman 编码对数据进行进一步的压缩, 通过对不同模式的出现频率进行编码, 提高压缩效率
二阶上下文建模: 使用二阶上下文建模来更好地理解和压缩数据
MIT 许可证: Brotli 是基于 MIT 许可证开源的, 允许在符合许可证条件的情况下自由使用和分发
# 常见压缩对比
Brotli、Zip、Gzip 和 7z 都是用于数据压缩的不同算法或工具。它们在压缩效率、压缩速度以及应用场景上有一些不同。以下是它们的简要对比:
- Brotli:
- 压缩效率: Brotli 是由 Google 开发的一种通用的压缩算法, 通常在 HTTP 数据传输中用于替代 Gzip。Brotli 在压缩效率上通常优于 Gzip
- 压缩速度: Brotli 的压缩速度相对较慢, 但在大多数情况下仍然可以接受
- Zip:
- 压缩效率: Zip 是一种通用的压缩格式, 通常在文件和文件夹归档中使用。压缩效率通常较好, 但可能不如专门为文本数据设计的算法(如 Brotli)
- 压缩速度: Zip 的压缩速度通常较快
- Gzip:
- 压缩效率: Gzip 是一种常见的压缩算法, 通常用于压缩文本文件。虽然效率相对较高, 但在一些场景下可能不如 Brotli
- 压缩速度: Gzip 的压缩速度通常较快
- 7z:
- 压缩效率: 7z 是一种支持多种压缩算法的压缩工具, 其中包括 LZMA 和 LZMA2 等高效算法。在压缩效率上通常较好
- 压缩速度: 7z 的压缩速度可能较慢, 特别是在使用较高压缩级别时
- 如果你关心压缩效率, 可以考虑使用 Brotli, 特别是在 Web 开发中用于 HTTP 压缩
- 对于通用的文件和文件夹压缩, Zip 是一种常见的选择
- Gzip 通常用于 Unix 和 Linux 系统上的文件压缩
- 7z 提供了更多的压缩选项, 适用于需要更高级别的配置和特性的情况
最佳选择取决于你的具体需求和应用场景
上次更新: 2025/10/09, 23:53:03