ZSTD (.zst)

予備知識

    • MIMEタイプ:application/zstdZstandard (zstd)圧縮方式およびファイル形式.
    • 汎用可逆圧縮方式.
    • 一般にデータのアーカイブやインターネット上でのファイル交換に使われる
    • 2015年にFacebookのYann Colletによって開発された.
    • バイナリ形式.
    • 単一ファイルを保存する.

ImportとExport

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

Import要素

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

オプション

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

例題

すべて開くすべて閉じる

  (2)

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

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

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

JPEGファイルの利用可能なImport要素を与える:

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

Exportオプション  (2)

CompressionLevel  (2)

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

これはCompressionLevel1と等しい:

最小圧縮量を指定する:

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

特性と関係  (2)

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

GZIP,BZIP2,ZSTDの圧縮を,圧縮していない場合のサイズと比較する:

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

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