BZIP2 (.bz2)

予備知識

    • MIMEタイプ:application/x-bzip2
    • BZIP2 圧縮方法とファイル形式
    • 一般用途の不可逆圧縮方法
    • Unix上でのデータのアーカイブやインターネット上でファイル交換に使われることがある.
    • バイナリ形式.
    • BurrowsWheeler 変換とHuffman エントロピー符号化の組合せを使い,データを圧縮する.
    • 単一ファイルを保管.
    • 通常,TARと一緒に使われる.
    • Julian Sewardが開発し,管理している.
    • 1996年に発表され,2000年にバージョン1.0がリリースされた.

ImportとExport

  • Import["file.bz2"]file.bz2を解凍し,ファイルの内容から形式を自動的に予測して file をインポートする.
  • Import["file.ext.bz2"]はBZIP2圧縮ファイルを解凍してインポートする.
  • Import["file.ext.bz2",elem]file.ext ファイルから指定された要素をインポートする.
  • Import["file.bz2","format"]はBZIP2ファイルを解凍して "format" としてインポートする.
  • Import["file.ext.bz2",{elem,suba,subb,}]はサブ要素をインポートする.
  • Import["file.ext.bz2",{{elem1,elem2,}}]は複数の要素をインポートする.
  • インポート形式は明示的にImport["file.bz2",{"format",elems1,elems2,}]で指定できる.
  • Import["file","BZIP2"]またはImport["file",{"BZIP2",elem,}]は任意のBZIP2ファイルをインポートする.
  • Export["file.ext.bz2",expr]は任意の式 expr を,形式がファイル名拡張子.extで分かるBZIP2圧縮ファイルにエキスポートする.
  • Export["file.ext.bz2",expr,elem]expr が要素 elem を指定するものとして扱うことにより,BZIP2圧縮.ext ファイルを作成する.
  • Export["file.ext.bz2",expr,opt1->val1,]は指定されたオプション要素が指定の値を持つものとして expr をエキスポートする.
  • Export["file.ext.bz2",{expr1,expr2,},{{elem1,elem2,}}]はそれぞれの expri が対応する elemiを指定するものとして扱う.
  • エキスポート形式とBZIP2圧縮方式は明示的にExport["file",exprs,{"BZIP2","format",elems}]で指定できる.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

  • BZIP2形式そのものはImport または Export の要素をサポートしていない.
  • Import BZIP2圧縮ファイルの要素
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • Import["file.ext.bz2","Elements"]"file.ext"をインポートする前に圧縮ファイルを解凍することにより,file.ext で利用できる要素の名前を返す.

例題

すべて開くすべて閉じる

  (2)

BZIP2-圧縮テキストファイルに文字列をエキスポートする:

前の出力をWolfram言語の文字列に変換し直す:

グラフィックスをBZIP2-圧縮PNG ファイルにエキスポートする:

このPNG ファイルで可能な Import 要素を出力する:

任意の要素を BZIP2 ファイルからインポートする場合,Wolfram言語は自動的にそれを解凍する:

特性と関係  (2)

エキスポートするためのテキストを取得する:

GZIP,BZIP2,ZSTDの圧縮を非圧縮のサイズと比較する:

GZIP,BZIP2,ZSTDの圧縮速度を比較する:

圧縮の量は圧縮するデータに依存する.例えばJPEG画像はすでに圧縮されているので,GZIPでそれ以上圧縮できない: