bz 文件与 .bz2 不同吗?我猜测 bz2 是 bz 的后继者,也许它们使用不同的压缩算法,或者它们本质上是表示相同含义的文件名后缀?
bzip2(1) 显然没有提到 bz 和 bz2 文件之间的区别,但它确实提到了这一点:
Bunzip2(或 bzip2 -d)解压缩所有指定的文件。不是由 bzip2 创建的文件将被检测并忽略,并发出警告。
bzip2 尝试根据压缩文件的文件名猜测解压缩文件的文件名,如下所示:
filename.bz2 becomes filename filename.bz becomes filename filename.tbz2 becomes filename.tar filename.tbz becomes filename.tar anyothername becomes anyothername.out
* bz 文件与 bz2 文件不同吗?如果不同,如何制作 bz 文件?
答案1
他们是不同的。bzip2
是 的重写版本bzip
,经过重新设计以避免原始版本的潜在专利问题bzip
。这旧主页有详细信息:
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-meg 机器上解压缩文件。与 0.21 相比,压缩期间的峰值内存使用量也减少了约 900k,达到约 6400k。
更好的标志处理。特别是,支持长标志(--like --this),这使得它更易于使用。
0.21 打印的一行启动消息消失了。这是 0.21 中最受抱怨的功能。甚至还有bug我如今。
要制作bz
文件,您需要获取旧bzip
压缩器并使用它。没有真正的理由这样做......