GZIP和BZIP2

Anonim

GZIP与BZIP2

GNU zip(也称为GZIP)是一个软件应用程序,用于压缩文件。它原本打算取代早期Unix系统中使用的压缩程序 - 用于GNU项目(一个自由软件项目)。

BZIP2是一种开源无损数据压缩算法 - 基本上是一类数据压缩算法,可以从压缩数据中完全重建压缩文件的原始数据。

GZIP基于称为DEFLATE的算法。这也是无损数据压缩算法。它使用LZ77算法和霍夫曼编码。实质上,GZIP指的是同名的文件格式。这种格式是一个10字节的标题,包含一个幻数(这意味着一个永不改变的数字或文本值,用于表示文件格式或协议,一个永不改变的未命名数值,或者不能错误的不同值)其他任何东西),实际上可能需要或可能不需要的额外标头(例如原始文件名),包含DEFLATE压缩有效负载的主体(标头携带的数据)和8字节页脚它包含CRC-32校验和,以及原始未压缩数据的实际长度。

BZIP2格式使用各种压缩技术,这些技术在多个层中彼此堆叠在一起。它们以非常独特的顺序出现:行程编码(由前四个符号替换的4到255个重复符号的任何序列,以及在0到251之间重复的编码长度),Burrows-Wheeler变换(这是构成BZIP2核心的可逆块排序,移动到前面(使处理块的大小保持不变),行程编码(由长串符号组成 - 通常为零)在输出中重复,并由符号和两个代码的序列替换),霍夫曼编码(这是一个用8位字节的固定长度符号替换长度代码的过程),多霍夫曼编码(由多个相同大小的Hoffman表),一元base 1编码,Delta编码和稀疏位数组。

摘要:

1. GZIP是一个用于压缩文件的免费应用程序; BZIP2是一种开源无损数据压缩算法,可以检索压缩文件的原始数据。

2. GZIP由一个10字节的标题,可选的标题,正文和一个8字节的页脚组成; BZIP2包含不少于9层的压缩技术。