ソリッド圧縮について学習するには、最初に一般的な ZIP 形式の圧縮がどのように機能するかを理解する必要があります。
次の画像は、ZIP 形式の構造を示しています。 ZIPなどのソリッド圧縮をサポートしていない形式では、すべてのファイルが個別のファイルとしてアーカイブされます。
たとえば、file1.txt、file2.txt、および file3.txt を file.zipに アーカイブすると、元の各ファイルは、次のように file.zip で個別に圧縮されます。
一方、ソリッド圧縮は、複数のファイルを単一のユニットとして処理する方法です。 ファイルを 1 つの単位として処理すると、ファイル間に類似性がある場合に圧縮率が高くなるという利点があります。
7Z および RAR 形式は、ソリッド圧縮と非ソリッド圧縮の両方をサポートしています。 TGZ(tar.gz)、TBZ(tar.bz2)、および TXZ(tar.xz) は、他の圧縮方法とともに使用される TAR 形式のいくつかのタイプであり、これらはまた、確実な圧縮形式と見なされます。
ソリッド圧縮には高い圧縮率という利点がありますが、欠点もあります。 複数のファイルが単一のソリッドブロックに圧縮されている場合、ソリッドブロックは 1 単位であり、ブロックの中央にあるファイルはすぐに展開できません。
次の例に示すように、file2.txt は非常に小さなファイルです。 ただし、file2.txt を展開するには、ブロックの前にある file1.txt を最初に展開する必要があり、その後でのみ file2.txt を展開できます。
単一のソリッドブロックの中央にある圧縮ファイルへの低いアクセス性を改善するために、7Z および RAR 形式は複数のソリッドブロックの圧縮をサポートしています。
ユーザーがソリッドブロックのサイズを指定すると、ファイルは指定されたサイズの複数のソリッドブロックとして処理されます。 この方法により、高い圧縮率と圧縮ファイルへのアクセス性の両方を同時に実現できます。
Bandizip は、以下のように 7Z 形式のソリッドブロックサイズの指定をサポートしています。