次のように、Pythonでzlib圧縮データを作成しました。
import zlib
s = '...'
z = zlib.compress(s)
with open('/tmp/data', 'w') as f:
f.write(z)
(またはシェル内の1つのライナー。echo -n '...' | python2 -c 'import sys,zlib; sys.stdout.write(zlib.compress(sys.stdin.read()))' > /tmp/data
)
次に、シェルでデータを圧縮解除します。どちらzcat
もuncompress
動作しません:
$ cat /tmp/data | gzip -d -
gzip: stdin: not in gzip format
$ zcat /tmp/data
gzip: /tmp/data.gz: not in gzip format
$ cat /tmp/data | uncompress -
gzip: stdin: not in gzip format
gzipのようなファイルを作成したようですが、ヘッダーはありません。残念ながら、gzipのマニュアルページにそのような生データを解凍するオプションはありません。また、zlibパッケージには実行可能なユーティリティが含まれていません。
生のzlibデータを圧縮解除するユーティリティはありますか?