当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Inflate.new用法及代码示例


本文简要介绍ruby语言中 Zlib::Inflate.new 的用法。

用法

Zlib::Inflate.new(window_bits = Zlib::MAX_WBITS)

为解压创建一个新的膨胀流。 window_bits 设置历史缓冲区的大小,可以有以下值:

0

使用压缩流的 zlib 标头中的窗口大小进行膨胀。

(8..15)

覆盖压缩流中膨胀标头的窗口大小。窗口大小必须大于或等于压缩流的窗口大小。

大于 15

将 32 添加到 window_bits 以启用带有自动标头检测的 zlib 和 gzip 解码,或添加 16 以仅解码 gzip 格式(非 gzip 流将引发 Zlib::DataError )。

(-8..-15)

启用原始放气模式,该模式不会生成检查值,并且不会在流结束时查找任何检查值进行比较。

这适用于使用 deflate 压缩数据格式的其他格式,例如 zip,它们提供自己的检查值。

示例

open "compressed.file" do |compressed_io|
  zi = Zlib::Inflate.new(Zlib::MAX_WBITS + 32)

  begin
    open "uncompressed.file", "w+" do |uncompressed_io|
      uncompressed_io << zi.inflate(compressed_io.read)
    end
  ensure
    zi.close
  end
end

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Inflate.new。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。