From: Tanaka Akira Date: 2008-10-23T09:37:30+09:00 Subject: [ruby-dev:36874] [Bug:1.9] GzipReader with iso-2022-jp to euc-jp and gets(euc-jp-record-separator) Zlib::GzipReader の gets の挙動が IO と以下のように異なります。 "あいう" という EUC-JP の文字列を gzip した入力に対し、 Zlib::GzipReader#gets("い") としても "い" で gets が終わりません。 % echo あいう|nkf|gzip -c|./ruby -rzlib -e ' z = Zlib::GzipReader.new(STDIN, :external_encoding => "iso-2022-jp", :internal_encoding => "euc-jp") p z.gets("\xa4\xa4".force_encoding("euc-jp")) ' "あいう\n" IO#gets では終わります。 % echo あいう|nkf|./ruby -e ' f = open("/dev/stdin", :external_encoding => "iso-2022-jp", :internal_encoding => "euc-jp") p f.gets("\xa4\xa4".force_encoding("euc-jp")) ' "あい" -- [田中 哲][たなか あきら][Tanaka Akira]