データを圧縮するための zlib ライブラリの使用について質問があります。圧縮されたデータが、コマンド gzip -9 によって生成されたデータと等しいバイナリになるように、zlib (つまり、deflateInit 関数) をセットアップしたいと考えています。これは可能ですか?前もって感謝します
質問する
5927 次
2 に答える
9
windowsBits 引数のデフォルト値は 15 です。
これ
に 16 を加えると 31 になります。
16 は 31 を返します。
z_stream strm;
unsigned char* in = DATA TO COMPRESS;
strm.zalloc = Z_NULL;
strm.zfree = Z_NULL;
strm.opaque = Z_NULL;
strm.next_in = in;
int windowsBits = 15;
int GZIP_ENCODING = 16;
deflateInit2 (&strm, Z_DEFAULT_COMPRESSION, Z_DEFLATED,
windowsBits | GZIP_ENCODING,
8,
Z_DEFAULT_STRATEGY));
于 2014-03-05T14:58:34.510 に答える
3
gzip とまったく同じ出力を取得することはできません。ただし、gzip で解凍できるように、gzip と互換性のある出力を取得できます。を使用する必要がありますdeflateInit2()
。
于 2012-12-07T15:55:04.603 に答える