是否有可用于Ruby的开源压缩/分解库?有人实施过LZW吗?
或者,是否有任何开源库使用压缩组件,可以想象这些组件可以独立使用?
编辑 - 感谢您的回答!我应该提到我必须压缩的是长字符串,它只驻留在数据库中(我不会压缩文件)。此外,如果任何库可以做到这一点,那么在JavaScript中用于客户端comp / decomp的同等实现将是理想的,因为这将适用于Web应用程序。
答案 0 :(得分:5)
您可以在ruby stdlib下找到所有已发布的ruby库的清单。
我使用zlib库,它是开放的,它在任何地方使用,你会找到几乎所有语言的库!
答案 1 :(得分:3)
答案 2 :(得分:2)
如果您更关心大小而不是速度,或者您希望确保其他语言中的绑定具有兼容性,那么zlib就可以了。对于有线传输,速度和CPU利用率通常更为重要。
答案 3 :(得分:0)
我发现最好的C lzw实现是lzw-ab。
它用于流式传输(src
,dst
回调)。可以对其进行重构,以提供像brotli(BrotliDecoderState
,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT
等)这样的流接口。似乎可以提供像Zlib::Inflate
和Zlib::Deflate
这样的api作为ruby扩展名。