事前準備
特に必要なし。
サンプルコード
# frozen_string_literal: true
require 'zlib'
# 圧縮前の文字列
str = 'Hello World' * 10_000
# 圧縮レベルを指定
# level = Zlib::NO_COMPRESSION # 圧縮しない
# level = Zlib::BEST_SPEED # 速度優先で圧縮率は低い
level = Zlib::BEST_COMPRESSION # 圧縮率優先で速度は遅い
# 圧縮
deflated_str = Zlib::Deflate.deflate(str, level)
# 展開
inflated_str = Zlib::Inflate.inflate(deflated_str)
puts str.bytesize # => 110000
puts deflated_str.bytesize # => 252
puts inflated_str.bytesize # => 110000
puts str == inflated_str # => true