首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bzip1怎么了?

bzip1怎么了?
EN

Unix & Linux用户
提问于 2014-04-21 11:35:04
回答 1查看 2.6K关注 0票数 40

bzip2已经成为多年来相当强大的压缩的事实上的标准。到目前为止,我自己已经输入了数千次bzip2命令,这让我想知道-- bzip或者bzip1是怎么回事?谷歌似乎没有告诉我太多关于它,这听起来可能是一个有趣的历史教训。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2014-04-21 12:12:28

似乎原来的bzip是在1998年左右由于专利问题而使用的算术压缩。稍微挖掘一下(实际上只是阅读维基百科),就可以找到一个指向bzip2这个时候的网站的归档链接。

下面的相关部分详细介绍了这一差异和其他差异:

它与你之前的产品(bzip-0.21)有什么关系?bzip2是一个重写和重新设计的0.21版本。它表面上看起来相当相似,但几乎完全重写了(几次:-)。重要的区别是:

  • 没有专利!(我希望;见上文声明)。bzip-0.21使用算术编码;bzip2使用赫夫曼编码,从专利的角度来看,这通常被认为是没有问题的。这两个程序都是基于Burrows变换,但据我所知,这也不是专利。
  • 更快,尤其是减压。bzip2解压缩速度比0.21快50%以上,主要是因为使用了Huffman编码。我也提高了压缩速度,虽然没有那么快--也许压缩速度比0.21快30%。
  • 从媒体错误中恢复。在默认情况下,这两个程序都以块压缩数据,长度为900 K。使用bzip2,每个块完全独立地处理,携带自己的校验和,并由48位序列分隔。因此,如果您有一个受损的压缩文件,bzip2可以提取压缩块,检测哪些未损坏,并解压缩这些块。
  • 测试模式。您可以测试压缩文件的完整性,而不必解压缩它们。我应该把它写在0.21里,真的,但是太懒了(当我发布它的时候,它被黑客攻击烧坏了)。
  • 处理非常重复的文件要好得多。对于任何分块排序压缩机来说,这样的文件都是最坏的情况。对于这类文件,bzip2的运行速度大约是0.21的10倍。
  • 支持较小的机器。bzip2可以解压缩它在2300 k中创建的任何文件,这意味着您可以在4-meg机器上解压缩文件。压缩期间的峰值内存使用量也从0.21减少到6400 K,减少了大约900 K。
  • 更好的旗帜处理。特别是,支持长旗子(--类似--这个),这使它更易于使用。
  • 0.21打印的单行启动消息消失了。这是0.21's最抱怨的--关于特写。现在甚至让我心烦。

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

它也是一个链接,对于任何想玩它的人来说,都是bzip源代码的解压缩版本。

票数 33
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/125798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档