在Ruby中,我有一个包含使用zlib的
我如何在Ruby中实现等效于
编辑:
我找到了解决方案。在尝试使用
compress2()
方法压缩的数据的缓冲区。但是我发现没有办法使用Ruby标准库中仅支持deflate
或GZip格式数据的Zlib功能来解压缩此数据。我如何在Ruby中实现等效于
uncompress()
的功能,最好不要创建自定义C扩展?编辑:
我找到了解决方案。在尝试使用
Inflate
构造函数中的window_bits
参数进行调整而未成功后,我最终理解了zlib使用四字节头文件前缀压缩数据。因此,我只需删除该头文件前缀,就可以完美地实现解压缩: data[0..3] = ''
data = Zlib::Inflate.inflate(data)