Zlib::GzipReader可以接受“一个IO或类似IO的对象”。作为输入,如docs中所述。
Zlib::GzipReader.open('hoge.gz') {|gz|
print gz.read
}
File.open('hoge.gz') do |f|
gz = Zlib::GzipReader.new(f)
print gz.read
gz.close
end
我应该如何为字符串解压缩?
最佳答案
上面的方法对我不起作用。
我一直收到incorrect header check (Zlib::DataError)
错误。显然,它假定默认情况下您具有标题,但情况并非总是如此。
我实现的工作是:
require 'zlib'
require 'stringio'
gz = Zlib::GzipReader.new(StringIO.new(resp.body.to_s))
uncompressed_string = gz.read
关于ruby - 如何在ruby中解压缩Gzip字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1361892/