From: TAKAHASHI Masayoshi Date: 2000-05-25T22:37:30+09:00 Subject: [ruby-list:22921] Re: zlib 高橋征義です。 Katsuhiro Ueno さん: > > れます)。うーん、使い方を間違えているのでしょうか。 > > 間違ってます (^^;;; やっぱりそうでしたか(^^;; > # 一気にやるなら Deflate::deflate、 > # ボチボチやるなら Deflate#deflate。 > # ヤヤこしい… なるほどです。 > あと、あくまで圧縮/展開だけですから、.gz なヘッダーは吐きません。 > なので gzip に叱られるのは当然と言えば当然です。 うーん、そうなんですか。 基本的には *.gzなファイルを生成・展開することが 目的なので、それができないとちょっと困るのでした。 > 無理矢理、 > > src = open('zlib.html').read > # add .gz header > print [ 0x1f, 0x8b, 8, 0, Time.now.to_i, 0, 3 ].pack('C4VC2') > # compress & remove zlib header/footer > dst = Deflate.deflate(src) > print dst[2, dst.size - 6] > # add .gz footer > print [ Zlib.crc32(src), src.size ].pack('N*') > > とすれば、一応 .gz なファイルを吐くことはできます。 こんな感じでやればいいわけですね。なるほど。 # 読み込むのはunpackを使うのでしょうか? > # gzFile 系関数を実装すれば幸せになれるのだけど… > # ん〜、ヒマ見つけて、やってみます よろしくお願いします(_o_) # 頼ってばかりですみまねん(_o_) 高橋征義 (TAKAHASHI Masayoshi) Email:maki@inac.co.jp