3

有没有办法压缩字符串(使用 gem 或标准库),以便我可以获得字符串的压缩结果?例子:

"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 这个不错的答案详细介绍了ruby​​zip gem,正如您在文档中看到的那样,它具有输入和输出流对象,并且应该完全按照您的意愿行事。

于 2012-06-16T00:08:46.030 回答