std.zlib
zlibライブラリ によってデータを圧縮/展開しますReferences:
Wikipedia
License:
Public Domain
- class ZlibException: object.Exception;
- エラー時に送出される例外
- uint adler32(uint adler, void[] buf);
- buf[] の Adler32 チェックサムを計算します。引数 adler は、
チェックサムの累積的な計算に使う初期値です。
- uint crc32(uint crc, void[] buf);
- buf[] の CRC32 チェックサムを計算します。引数 crc は、
チェックサムの累積的な計算に使う初期値です。
- void[] compress(void[] srcbuf, int level);
void[] compress(void[] buf); - buf[] 内のデータを、
圧縮レベル level で圧縮します。
level のデフォルト値は 6 です。レベルとして有効な値は
1から9で、1が最低の圧縮率、9が最高となっています。
圧縮後のデータを返します。
- void[] uncompress(void[] srcbuf, size_t destlen = 0u, int winbits = 15);
- srcbuf[] のデータを展開します。
Params:
size_t destlen 展開後のデータサイズの見積もりを指定します。 正確である必要はありませんが、 ピッタリのサイズが指定されると高速になります。
Returns:
展開後データ
- class Compress;
- 圧縮したいデータが一つのバッファにまとまっていない場合に使います。
- this(int level);
this(); - コンストラクタ。level は D.zlib.compress() と同じ
- void[] compress(void[] buf);
- buf 内のデータを圧縮し、圧縮済みデータを返します。
この関数からの一連の返値は、一つに結合すると全体の圧縮データになります。
(訳注: 要するに The buffers returned from successive calls to this should be concatenated together. 上手い訳がない…)
- void[] flush(int mode = Z_FINISH);
- 残っているデータを全て圧縮して返します。
返値は compress() で返ってきた値の後ろに追加して用います。
Params:
int mode 次のいずれかです: - Z_SYNC_FLUSH
- 次のバイト境界に揃えるようにフラッシュします。 この後に更にデータを圧縮する場合に用います。
- Z_FULL_FLUSH
- 次のバイト境界に揃えるようにフラッシュします。 この後に更にデータを圧縮するのだけれども、 展開側はこの途中の点からも展開をスタートできるようにしたい という時に用います。
- Z_FINISH
- (既定値) 全データの圧縮が完了した時に使います。
- this(int level);
- class UnCompress;
- 圧縮データを一つのバッファにまとまっていない場合に使います。
- this(uint destbufsize);
this(); - コンストラクタ。destbufsize は D.zlib.uncompress() と同じ
- void[] uncompress(void[] buf);
- buf 内のデータを展開し、展開後のデータを返します。
この関数からの一連の返値は、一つに結合すると全体の展開後データになります。
(訳注: The buffers returned from successive calls to this should be concatenated together.)
- void[] flush();
- 残っているデータ全てを展開します。
返値は uncompress() で返ってきた値の後ろに追加して用います。
これ以降、UnCompress オブジェクトは使用できません。
- this(uint destbufsize);