結論から
- Bzip2は、ディレクトリや複数の名前付き項目をまとめるのではなく、単一ファイルを圧縮する可逆のバイナリ圧縮形式です。
- BZ2ファイルはbunzip2またはbzip2 -dで展開できます。内容を標準出力へ送る場合はbzcatを使います。libarchive互換アプリケーションでも処理でき、公式デコーダーは連結されたBzip2ストリームにも対応します。BZ2ストリームは通常、複数項目を閲覧するアーカイブではなく、1個の圧縮ファイルです。
- Bzip2には暗号化機能がなく、圧縮ストリーム自体が実行形式というわけでもありません。ただし、展開すると任意の内容が現れる可能性があるため、開いたり実行したりする前に中身を別途確認してください。信頼できない入力では、展開後のサイズが大幅に増える場合があり、ヘッダーのブロックサイズが必要メモリを左右するため、処理量を制限してください。
Bzip2圧縮データ(.BZ2、.BZIP2)
Julian Sewardが作成したBzip2は、Burrows–WheelerブロックソートとHuffman符号を使用します。ストリームは4バイトのヘッダーで始まり、独立して圧縮されたブロックを含み、非圧縮ストリーム全体の32ビットCRCを持つ終端マーカーで終わります。ブロックサイズは100,000~900,000バイトで、ヘッダーに記録されます。
BZ2を別の圧縮形式へ変換するには、まず展開し、その後で変換先の圧縮を適用します。可逆圧縮ならペイロードを保持できますが、元のBzip2表現、ブロックサイズ、圧縮ブロック、CRC配置は保持されません。
開き方
BZ2ファイルはbunzip2またはbzip2 -dで展開できます。内容を標準出力へ送る場合はbzcatを使います。libarchive互換アプリケーションでも処理でき、公式デコーダーは連結されたBzip2ストリームにも対応します。BZ2ストリームは通常、複数項目を閲覧するアーカイブではなく、1個の圧縮ファイルです。
BZ2ファイルはbunzip2またはbzip2 -dで展開できます。内容を標準出力へ送る場合はbzcatを使います。libarchive互換アプリケーションでも処理でき、公式デコーダーは連結されたBzip2ストリームにも対応します。BZ2ストリームは通常、複数項目を閲覧するアーカイブではなく、1個の圧縮ファイルです。
BZ2を別の圧縮形式へ変換するには、まず展開し、その後で変換先の圧縮を適用します。可逆圧縮ならペイロードを保持できますが、元のBzip2表現、ブロックサイズ、圧縮ブロック、CRC配置は保持されません。
安全チェック
Bzip2には暗号化機能がなく、圧縮ストリーム自体が実行形式というわけでもありません。ただし、展開すると任意の内容が現れる可能性があるため、開いたり実行したりする前に中身を別途確認してください。信頼できない入力では、展開後のサイズが大幅に増える場合があり、ヘッダーのブロックサイズが必要メモリを左右するため、処理量を制限してください。
送り主が分からない、拡張子が二重になっている、中身が拡張子と合わない——一つでも当てはまるなら、開く前に確かめてください。
変換するときは
BZ2を別の圧縮形式へ変換するには、まず展開し、その後で変換先の圧縮を適用します。可逆圧縮ならペイロードを保持できますが、元のBzip2表現、ブロックサイズ、圧縮ブロック、CRC配置は保持されません。
元ファイルではなくコピーを変換し、変換後に画質・メタデータ・レイアウトを元と見比べてください。
よくある質問
BZ2ファイルとは何で、何に使う形式ですか?
BZ2ファイルは、1個のファイルを圧縮する可逆のバイナリBzip2ストリームです。単独ではディレクトリや複数の名前付きファイルを格納しません。
BZIP2圧縮ファイルはどうやって開きますか?
bunzip2またはbzip2 -dで展開するか、bzcatで内容を標準出力へ送ります。libarchive互換アプリケーションも利用できます。
WindowsでBZ2ファイルを開くにはどうすればよいですか?
Windows版のbunzip2またはbzip2 -d、あるいはlibarchive互換アプリケーションを使います。展開後は、実際のファイル形式に対応するアプリケーションでペイロードを開いてください。
MacでBZ2ファイルを開くにはどうすればよいですか?
ターミナルでbunzip2またはbzip2 -dを実行します。展開したバイトを標準出力へ送る場合はbzcatを使います。libarchive互換アプリケーションも選択肢です。
スマートフォンでBZ2ファイルを開くにはどうすればよいですか?
モバイルアプリによって展開できる形式が異なるため、インストール前に対応形式の一覧でBZ2またはBzip2が含まれているか確認してください。
CRCエラーが出る破損したBZ2ファイルを復元できますか?
CRCエラーは破損を検出しますが、元データを再構築できません。公式のbzip2recoverはブロック単位の復旧を試せますが、得られた内容は慎重に確認してください。
複数の名前付きファイルにはBZIP2とZIPのどちらを使うべきですか?
Bzip2は単一ファイルの圧縮用で、ディレクトリや複数の名前付き項目を格納しません。その構造が必要なら、複数項目を格納できるアーカイブ形式が適しています。
内容を変えずにBZIP2ファイルをZIPへ変換するにはどうしますか?
BZIP2ストリームを展開してから、得られたペイロードを変換先形式で圧縮します。可逆な処理ならペイロードは保持できますが、Bzip2のブロック、ブロックサイズ、CRC配置は保持できません。
BZIP2ファイルを開いても安全ですか?
Bzip2ストリーム自体は本質的な実行形式ではなく、暗号化機能もありませんが、展開後に任意の内容が現れます。中身を別途評価し、信頼できない入力ではメモリと出力量を制限してください。
BZ2ファイルヘッダーのマジックBZhは何を意味しますか?
PRONOMの開始パターンは42 5A 68 ?? 31 41 59 26 53 59で、ASCIIのBZh、ブロックサイズの1バイト、最初のブロックマーカーを表します。一致は形式の識別であり、内容の信頼性を示すものではありません。
BZIP2の展開でBZ_MEM_ERRORが出るのはなぜですか?
必要メモリはヘッダーに記録されたブロックサイズで決まります。メモリ不足ではBZ_MEM_ERRORが起こり得ます。展開後のデータも大幅に増える可能性があるため、出力量も制限してください。
関連する形式
参考資料
bzip2 and libbzip2, version 1.0.8 — Official Manual · Official bzip2 project documentation
PRONOM: BZIP2 Compressed Archive (x-fmt/268) · The National Archives, UK format registry
PRONOM: BZIP2 Compressed Archive Signatures · The National Archives, UK signature registry
Sustainability of Digital Formats: bzip2 · Library of Congress
LibarchiveFormats · Official libarchive project documentation