要了解固实压缩,首先需要了解常见的 ZIP 格式压缩是如何工作的。
下图显示了 ZIP 格式的结构;ZIP 和其他不支持固实压缩的格式将所有要被压缩的文件作为单独的文件进行处理。
例如,在 file.zip 中压缩文件 file1.txt、file2.txt 和 file3.txt,每个原始文件都将在 file.zip 中单独被压缩,如下所示。
另一方面,固实压缩是一种将多个文件作为一个单元处理的方法。 若文件间存在相似性,则将这些文件作为一个单元处理会获得较高压缩比。
7Z 和 RAR 格式支持固实和非固实压缩。 TGZ(tar.gz)、TBZ(tar.bz2),和 TXZ(tar.xz) 是一些与其他压缩方法一起被 TAR 格式使用的类型,它们也被视为固实压缩格式。
固实压缩虽然具有压缩比高的优点,但也有其缺点。 当多个文件压缩在一个固实块中时,固实块是一个单元且位于块中间的文件不能立即被解压。
如下面的案例所示,file2.txt 是一个非常小的文件。 但是,要解压 file2.txt,需要先解压位于块前面的 file1.txt,然后才能解压 file2.txt。
为了提高对单个固实块内被压缩文件的低可访问性,7Z 和 RAR 格式支持多个固实块的压缩。
若用户指定的固实块的大小,则文件将被处理为在指定尺寸的多个固实块。 通过这种方法,高压缩比和可访问被压缩文件能同时内达成。
Bandizip 支持的 7Z 格式的指定固实块的大小如下。