文字列のzip形式の結果を取得できるように、文字列を(gemまたは標準のlibを使用して)zip形式で圧縮する方法はありますか?例:
"hello world".zip #=> zipped version of string
また、誰かがそれをソリューションに含めることができれば、解凍は素晴らしいでしょう。
文字列のzip形式の結果を取得できるように、文字列を(gemまたは標準のlibを使用して)zip形式で圧縮する方法はありますか?例:
"hello world".zip #=> zipped version of string
また、誰かがそれをソリューションに含めることができれば、解凍は素晴らしいでしょう。
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"
vasによるこの素晴らしい答えを紹介したいと思います。これは、 rubyzip gemの詳細を示しています。これは、ドキュメントに示されているように、入力オブジェクトと出力ストリームオブジェクトがあり、必要な処理を正確に実行する必要があります。