bzip1发生了什么?


40

bzip2已经成为事实上的标准,已经有很多年了。bzip2到目前为止,我本人已经键入了数千次命令,这让我感到奇怪-bzip或bzip1发生了什么?Google似乎没有告诉我太多有关它的信息,听起来这可能是一个有趣的历史课。

Answers:


32

似乎原始bzip文档是在1998年左右因专利问题与所使用的算术压缩而被撤回的。稍加挖掘(仅能阅读Wikipedia)便可以bzip2在这段时间内找到指向该网站的存档链接。

以下是相关部分,详细介绍了此区别和其他区别:

它与您以前的产品(bzip-0.21)有什么关系?

bzip2是0.21的重写和重新设计的版本。从表面上看,它看起来很相似,但是几乎完全被重写了(几次:-)。重要的区别是:

  • 免专利!(我希望;请参见上面的声明)。bzip-0.21使用算术编码;bzip2使用霍夫曼编码,从专利的角度来看,这通常被认为是没有问题的。这两个程序都基于Burrows-Wheeler转换,但是据我所知,这两个程序也未获得专利。

  • 更快,尤其是在减压时。bzip2的解压缩速度比0.21快50%以上,这主要是因为使用了霍夫曼编码。我也提高了压缩速度,尽​​管压缩速度不是很大-也许压缩速度比0.21快30%。

  • 从媒体错误中恢复。这两个程序默认按块压缩数据,长度为900k。使用bzip2,每个块都可以完全独立地处理,带有自己的校验和,并由48位序列定界。因此,如果压缩文件损坏,bzip2可以提取压缩块,检测未损坏的块,然后将其解压缩。

  • 测试模式。您可以测试压缩文件的完整性,而不必解压缩它们。我本来应该将其设置为0.21,但确实太懒了(+在我发布它时被黑客淘汰了)。

  • 处理重复性很高的文件要好得多。对于任何块排序压缩器,此类文件都是最坏的情况。对于此类文件,bzip2的运行速度比0.21快十倍。

  • 支持较小的机器。bzip2可以解压缩它在2300k中创建的任何文件,这意味着您可以解压缩4兆计算机上的文件。与0.21相比,压缩期间的峰值内存使用量也减少了约900k,降至约6400k。

  • 更好的标志处理。特别是,支持长标志(--- --this),这使它更易于使用。

  • 打印了0.21的单行启动消息消失了。这是0.21最受欢迎的功能。如今,它甚至困扰

我不再分发0.21,因为这样做会使专利问题永久存在,这确保了该程序永远不会被广泛使用。很遗憾,因为它是一个有用的程序,很多人似乎都喜欢它。如果已经使用0.21,请升级到bzip2。不幸的是,我无法使bzip2能够解压缩0.21的.bz文件,因为这会使避免专利的做法毫无意义。我知道更改文件格式会很痛苦。从现在开始,我将尝试以向后兼容的方式进行任何进一步的更改。

对于想要玩它的任何人,它也是指向仅解压版本的bzip源代码的链接


5
我可能在某处的某些备份存档中具有原始bzip。我曾经广泛使用它,发现切换到bzip2很烦人。在大多数文件上,bzip获得了更好的压缩率。
2014年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.