deflate(string, level = Zlib::DEFAULT_COMPRESSION) -> String
[permalink][rdoc][edit]-
string を圧縮します。level の有効な値は Zlib::NO_COMPRESSION, Zlib::BEST_SPEED, Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION 及び 0 から 9 の整数です。
ちなみに、このメソッドは以下のコードとほぼ同じです:
require 'zlib' def deflate(string, level) z = Zlib::Deflate.new(level) dst = z.deflate(string, Zlib::FINISH) z.close dst end
- [PARAM] string:
- 圧縮する文字列を指定します。
- [PARAM] level:
- 圧縮の水準を詳細に指定します。有効な値は Zlib::NO_COMPRESSION, Zlib::BEST_SPEED, Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION 及び 0 から 9 の整数です。
使用例
require 'zlib' srand(1) str = (1..500).collect{ ['A', 'T', 'C', 'G'].at(rand(4)) }.join p str.size #=> 500 [ Zlib::NO_COMPRESSION, Zlib::BEST_SPEED, Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION ].each { |level| deflate_str = Zlib::Deflate.deflate(str, level) p deflate_str.size # 展開する場合は、下記を実行する #puts Zlib::Inflate.inflate(str) } #出力例 #=> 511 #=> 200 #=> 194 #=> 194