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


Ruby Zlib模塊用法及代碼示例


本文簡要介紹ruby語言中 Zlib模塊 的用法。

該模塊提供對zlib library的訪問。 Zlib 被設計為一個可移植、免費、通用、不受法律限製(即不受任何專利保護)的無損data-compression 庫,幾乎可在任何計算機硬件和操作係統上使用。

zlib 壓縮庫提供內存壓縮和解壓縮函數,包括未壓縮數據的完整性檢查。

zlib 壓縮數據格式在 RFC 1950 中進行了說明,它是對 RFC 1951 中說明的 deflate 流的包裝。

該庫還支持讀取和寫入 gzip (.gz) 格式的文件,其接口類似於 IO 。 gzip 格式在 RFC 1952 中進行了說明,它也是 deflate 流的包裝器。

zlib 格式被設計為緊湊且快速,可用於內存和通信通道。 gzip 格式專為文件係統上的single-file 壓縮而設計,具有比 zlib 更大的標頭來維護目錄信息,並且使用與 zlib 不同的、更慢的檢查方法。

有關 zlib 的更多信息,請參見係統的 zlib.h

示例使用

使用包裝器壓縮帶有默認參數的字符串非常簡單:

require "zlib"

data_to_compress = File.read("don_quixote.txt")

puts "Input size: #{data_to_compress.size}"
#=> Input size: 2347740

data_compressed = Zlib::Deflate.deflate(data_to_compress)

puts "Compressed size: #{data_compressed.size}"
#=> Compressed size: 887238

uncompressed_data = Zlib::Inflate.inflate(data_compressed)

puts "Uncompressed data is: #{uncompressed_data}"
#=> Uncompressed data is: The Project Gutenberg EBook of Don Quixote...

Class

(如果你有GZIP_SUPPORT)

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Zlib模塊。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。