GZIP (.gz)

予備知識

    • MIMEタイプ:application/x-gzip
    • GZIP圧縮法およびファイル形式.
    • 汎用可逆圧縮方式.
    • 一般にデータのアーカイブやインターネット上でのファイル交換に使われる.
    • 多くの場合TARと組み合わせて使われる.
    • Unixシステム上でよく使用される.
    • GZIPファイル形式はインターネット標準勧告RFC1952に記述されている.
    • バイナリ形式.
    • 単一ファイルを保管する.

ImportとExport

  • Import["file.gz"]file.gzを解凍し,ファイルの内容から形式を自動的に予測して file をインポートする.
  • Import["file.ext.gz",elem]は圧縮されていないファイル"file.ext"から指定の要素をインポートする.
  • Import["file.ext.gz","format"] はGZIPファイルを解凍し,"file.ext""format"としてインポートする.
  • Import["file.ext.gz",{"format",elements}]"file.ext"から要素を"format"としてインポートする.
  • Import["file.ext.gz",{elem,suba,subb,}]はサブ要素をインポートする.
  • インポート形式は明示的にImport["file.gz",{"GZIP",}]で指定できる.
  • Export["file.ext.gz",expr]は任意の式 expr を,形式がファイル名拡張子.extで分かるGZIP圧縮ファイルにエキスポートする.
  • エキスポート形式とGZIP圧縮方式は明示的にExport["file",expr,{"GZIP","format"}]で指定できる.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

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

オプション

  • 一般的なExportオプション:
  • CompressionLevelAutomatic0から1までの範囲の数字で与えられるGZIPの圧縮強度
  • 設定CompressionLevel->1は使用可能な最大強度の圧縮に相当し,結果のファイルサイズは可能な最小のサイズとなる.

例題

すべて開くすべて閉じる

  (2)

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

前の出力をMathematica 文字列に変換して戻す:

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

JPEGファイルの利用可能なImport要素を示す:

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

Exportオプション  (2)

CompressionLevel  (2)

デフォルトでは最大圧縮量が使用される:

これはCompressionLevel1に等しい:

圧縮の最小量を指定する:

圧縮レベルを増やしていったときのファイルサイズをプロットする:

特性と関係  (2)

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

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

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

圧縮の量は圧縮されるデータによって異なる.たとえば,JPEG 画像は既に圧縮されており,GZIP でさらに圧縮することはできない.: