當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。