本文簡要介紹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 Zlib.gunzip用法及代碼示例
- Ruby Zlib.deflate用法及代碼示例
- Ruby Zlib.adler32用法及代碼示例
- Ruby Zlib.inflate用法及代碼示例
- Ruby Zlib.gzip用法及代碼示例
- Ruby ZeroDivisionError類用法及代碼示例
- Ruby ZStream類用法及代碼示例
- Ruby Time tv_sec用法及代碼示例
- Ruby MatchData.pre_match用法及代碼示例
- Ruby Symbol capitalize用法及代碼示例
- Ruby Matrix lup()用法及代碼示例
- Ruby SizedQueue clear()用法及代碼示例
- Ruby Object.instance_variable_get用法及代碼示例
- Ruby Spotter.spot_op_asgn2_for_name用法及代碼示例
- Ruby Float arg()用法及代碼示例
- Ruby WIN32OLE_METHOD#visible?用法及代碼示例
- Ruby Matrix unitary?()用法及代碼示例
- Ruby Integer.nobits?用法及代碼示例
- Ruby Kernel.local_variables用法及代碼示例
- Ruby StringScanner skip_until用法及代碼示例
- Ruby StringScanner search_full用法及代碼示例
- Ruby Matrix symmetric?()用法及代碼示例
- Ruby CStructEntity.[]=用法及代碼示例
- Ruby BigMath.cos用法及代碼示例
- Ruby Vertex.==用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Zlib模塊。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。