3

文字列のzip形式の結果を取得できるように、文字列を(gemまたは標準のlibを使用して)zip形式で圧縮する方法はありますか?例:

"hello world".zip #=> zipped version of string

また、誰かがそれをソリューションに含めることができれば、解凍は素晴らしいでしょう。

4

2 に答える 2

11

Zlibを使用できます

>> require 'zlib'
=> true
>> s = "this is a long string with many many many many repetition"
=> "this is a long string with many many many many repetition"
>> s.size
=> 57
>> cs = Zlib.deflate(s)
=> "x\x9C+\xC9\xC8,V\x00\xA2D\x85\x9C\xFC\xBCt\x85\xE2\x92\xA2L U\x9EY\x92\xA1\x90\x9B\x98W\x89N\x14\xA5\x16\xA4\x96d\x96d\xE6\xE7\x01\x00\\?\x15P"
>> cs.size
=> 48
>> is = Zlib.inflate(cs)
=> "this is a long string with many many many many repetition"
于 2012-06-16T00:20:48.703 に答える
1

vasによるこの素晴らしい答えを紹介したいと思います。これは、 rubyzip gemの詳細を示しています。これは、ドキュメントに示されているように、入力オブジェクトと出力ストリームオブジェクトがあり、必要な処理を正確に実行する必要があります。

于 2012-06-16T00:08:46.030 に答える