クラス
-
Zlib
:: Deflate (66) -
Zlib
:: GzipWriter (11) -
Zlib
:: Inflate (11) -
Zlib
:: ZStream (11)
モジュール
-
Net
:: HTTPHeader (33)
キーワード
- << (11)
- each (11)
-
each
_ header (11) -
each
_ value (11) - finish (22)
- flush (22)
- params (11)
-
set
_ dictionary (22)
検索結果
先頭5件
-
Zlib
:: Deflate # deflate(string , flush = Zlib :: NO _ FLUSH) -> String (27214.0) -
string を圧縮ストリームに入力します。処理後、ストリームからの 出力を返します。このメソッドを呼ぶと出力バッファ及び入力バッファは 空になります。string が nil の場合はストリームへの入力を 終了します。(Zlib::ZStream#finish と同じ)。 flush には Zlib::NO_FLUSH, Zlib::SYNC_FLUSH, Zlib::FULL_FLUSH, Zlib::FINISH のいずれかを指定します。 詳しくは zlib.h を参照して下さい。
...空になります。string が nil の場合はストリームへの入力を
終了します。(Zlib::ZStream#finish と同じ)。
flush には Zlib::NO_FLUSH, Zlib::SYNC_FLUSH,
Zlib::FULL_FLUSH, Zlib::FINISH のいずれかを指定します。
詳しくは zlib.h を参照して下さい。
@p......g 圧縮する文字列を指定します。
@param flush Zlib::NO_FLUSH, Zlib::SYNC_FLUSH,
Zlib::FULL_FLUSH, Zlib::FINISH のいずれかを指定します。
require 'zlib'
dez = Zlib::Deflate.new
p dez.deflate("123" * 20, Zlib::FINISH) #=> "x\2343426$\027\001\000e\217\v\271"... -
Zlib
:: Deflate # flush(flush = Zlib :: SYNC _ FLUSH) -> String (9365.0) -
deflate('', flush) と同じです。flush が 省略された時は Zlib::SYNC_FLUSH が使用されます。 このメソッドはスクリプトの可読性のために提供されています。
...
deflate('', flush) と同じです。flush が
省略された時は Zlib::SYNC_FLUSH が使用されます。
このメソッドはスクリプトの可読性のために提供されています。
@param flush Zlib::NO_FLUSH Zlib::SYNC_FLUSH Zlib::FULL_FLUSH などを指定します。
requir......e 'zlib'
def case1
dez = Zlib::Deflate.new
comp_str = dez.deflate('hoge')
comp_str << dez.deflate(' fuga')
comp_str << dez.deflate(' end', Zlib::FINISH)
dez.close
p comp_str
p Zlib::Inflate.inflate(comp_str)
end
def case2
dez = Zlib::Deflate.new
comp_str =......dez.deflate('hoge')
comp_str << dez.flush
comp_str << dez.deflate(' fuga')
comp_str << dez.flush
comp_str << dez.deflate(' end', Zlib::FINISH)
dez.close
p comp_str
p Zlib::Inflate.inflate(comp_str)
end
case1
case2
#=> "x\234\313\310OOUH+MOTH\315K\001\000!\251\00... -
Zlib
:: GzipWriter # flush(flush = Zlib :: SYNC _ FLUSH) -> self (6313.0) -
まだ書き出されていないデータをフラッシュします。
...す。
flush は Zlib::Deflate#deflate と同じです。
省略時は Zlib::SYNC_FLUSH が使用されます。
flush に Zlib::NO_FLUSH を指定することは無意味です。
@param flush Zlib::NO_FLUSH Zlib::SYNC_FLUSH Zlib::FULL_FLUSH などを指定します。
require 'zlib'
def c......filename='hoge1.gz'
fw = File.open(filename, "w")
Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
gz.puts "fuga"
gz.puts "ugo"
}
p File.read(filename)
end
def case2
filename='hoge1.gz'
fw = File.open(filename, "w")
Zlib::GzipWriter.wrap(fw, Zlib......::BEST_COMPRESSION){|gz|
gz.puts "fuga"
gz.flush
gz.puts "ugo\n"
gz.flush
}
p File.read(filename)
end
case1
#=> "\037\213\b\000p\257pH\002\003K+MO\344*M\317\347\002\000<\326\000\371\t\000\000\000"
case2
#=> "\037\213\b\000p\257pH\002\003J+MO\344\002\000\00... -
Net
:: HTTPHeader # each _ value {|value| . . . . } -> () (6207.0) -
保持しているヘッダの値をブロックに渡し、呼びだします。
...れる文字列は ", " で連結したものです。
//emlist[例][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(uri.request_uri)
req.each_value { |value| puts value }
# => gzip;q=1.0,deflate;q=0.6,identity;q=0.3
# => */*
# => Ruby
//}... -
Zlib
:: Deflate # <<(string) -> self (6155.0) -
Zlib::Deflate#deflate と同じように string を 圧縮ストリームに入力しますが、Zlib::Deflate オブジェクト そのものを返します。圧縮ストリームからの出力は、 出力バッファに保存されます。
...Zlib::Deflate#deflate と同じように string を
圧縮ストリームに入力しますが、Zlib::Deflate オブジェクト
そのものを返します。圧縮ストリームからの出力は、
出力バッファに保存されます。
@param string 圧縮する文字列を指定しま......す。
require 'zlib'
dez = Zlib::Deflate.new
dez << "123" * 5 << "ugougo" << "123" * 5 << "hogehoge"
dezstr = dez.finish
p dezstr #=> "x\2343426DB\245\351\371@d\210*\230\221\237\236\n\302\000\356\275\v\271"... -
Zlib
:: Deflate # params(level , strategy) -> nil (6137.0) -
圧縮ストリームの設定を変更します。詳しくは zlib.h を 参照して下さい。設定の変更に伴うストリームからの出力は 出力バッファに保存されます。
...ます。詳しくは zlib.h を
参照して下さい。設定の変更に伴うストリームからの出力は
出力バッファに保存されます。
@param level 0-9の範囲の整数, または Zlib::DEFAULT_COMPRESSION を指定します。
詳細はzlib.hを参照してく......aram strategy Zlib::FILTERED, Zlib::HUFFMAN_ONLY,
Zlib::DEFAULT_STRATEGY など指定します。詳細は zlib.h を参照してください。
require 'zlib'
def case1
dez = Zlib::Deflate.new
comp_str = dez.deflate('hoge'*5);
comp_str << dez.deflate('0'*80)
co......_str
p Zlib::Inflate.inflate(comp_str)
end
def case2
dez = Zlib::Deflate.new
comp_str = dez.deflate('hoge'*5);
dez.params(Zlib::BEST_COMPRESSION, Zlib::HUFFMAN_ONLY)
comp_str << dez.deflate('0'*80)
comp_str << dez.finish
p comp_str
p Zlib::Inflate.inflate(comp_st... -
Zlib
:: Deflate # set _ dictionary(string) -> String (6041.0) -
圧縮に用いる辞書を指定します。string を返します。 このメソッドは Zlib::Deflate.new, Zlib::ZStream#reset を呼び出した直後にのみ有効です。詳細は zlib.h を参照して下さい。
...ing を返します。
このメソッドは Zlib::Deflate.new, Zlib::ZStream#reset
を呼び出した直後にのみ有効です。詳細は zlib.h を参照して下さい。
@param string 辞書に用いる文字列を指定します。詳しくは zlib.h を参照してください。
@return......します。
require 'zlib'
def case1(str)
dez = Zlib::Deflate.new
comp_str = dez.deflate(str)
comp_str << dez.finish
comp_str.size
end
def case2(str, dict)
dez = Zlib::Deflate.new
p dez.set_dictionary(dict)
comp_str = dez.deflate(str)
comp_str << dez.fin......sset = [ dict, 'taeagbamike', 'ugotagma', 'fugebogya' ]
g = [ 0, 1, 1, 1, 0, 0, 0, 3, 3, 3, 0, 0, 1, 1, 0, 0, 0, 1, 2, 2, 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0]
str = (1..i).collect{|m| t = rand(g.size); sset.at(g[t])}.join("")
printf "%d normal:%d, dict:%d\n", i, case1(str), case2(str, dict)... -
Zlib
:: Deflate # finish -> String (6023.0) -
圧縮ストリームを終了します。deflate('', Zlib::FINISH) と同じです。
...圧縮ストリームを終了します。deflate('', Zlib::FINISH) と同じです。
require 'zlib'
dez = Zlib::Deflate.new
dez << "123" * 5 << "ugougo" << "123" * 5 << "hogehoge"
dezstr = dez.finish
p dezstr #=> "x\2343426DB\245\351\371@d\210*\230\221\237\236\n\302\000\356\275\v\271"... -
Zlib
:: ZStream # finish -> String (3023.0) -
ストリームへの入力を終了し、出力バッファをフラッシュします。 より具体的な振る舞いは Zlib::Deflate#finish, Zlib::Inflate#finish を参照して下さい。
...ストリームへの入力を終了し、出力バッファをフラッシュします。
より具体的な振る舞いは Zlib::Deflate#finish,
Zlib::Inflate#finish を参照して下さい。
@see Zlib::Deflate#finish,Zlib::Inflate#finish... -
Zlib
:: Inflate # set _ dictionary(string) -> String (3013.0) -
展開に用いる辞書を指定します。string を返します。 このメソッドは Zlib::NeedDict 例外が発生した直後のみ 有効です。詳細は zlib.h を参照して下さい。
...。
このメソッドは Zlib::NeedDict 例外が発生した直後のみ
有効です。詳細は zlib.h を参照して下さい。
@param string 展開に用いる辞書を文字列で指定します。
require 'zlib'
def case2(str, dict)
dez = Zlib::Deflate.new
dez.set_dictionary......ct)
comp_str = dez.deflate(str)
comp_str << dez.finish
comp_str.size
inz = Zlib::Inflate.new
begin
inz.inflate(comp_str)
rescue Zlib::NeedDict
end
# 展開に用いる辞書が必要です。
inz.set_dictionary(dict)
p inz.inflate(comp_str)
end
dict......= 'hoge_fuga_ugougo'
sset = [ dict, 'taeagbamike', 'ugotagma', 'fugebogya' ]
g = [ 0, 0, 0, 1, 1, 1, 0, 0, 0, 3, 3, 3, 0, 0, 1, 1,
0, 0, 0, 1, 2, 2, 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0]
str = g.collect{|m| sset.at(m)}.join("")
case2(str, dict)...