本文简要介绍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模块。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。