Ruby的压缩库?

是否有可用于Ruby的开源压缩/分解库? 有人实施过LZW吗?

或者,是否有任何开源库使用压缩组件,可以想象这些组件可以独立使用?

编辑 – 谢谢你的答案! 我应该提到我必须压缩的是长字符串,它只驻留在数据库中(我不会压缩文件)。 此外,如果任何库可以做到这一点将是理想的在JavaScript中具有用于客户端comp / decomp的等效实现,因为这将是用于web应用。

你可以在ruby stdlib下找到所有已发布的ruby库。

我使用zlib库,它是开放的,它在任何地方使用,你会找到几乎所有语言的库!

如果您更关心大小而不是速度,或者您希望确保其他语言中的绑定具有兼容性,那么zl​​ib就可以了。 对于有线传输,速度和CPU利用率通常更为重要。

一些集成了更快速压缩库的ruby库是:Google的Snappy , QuickLZ和LZO

我发现最好的C lzw实现是lzw-ab 。

它专为流媒体( srcdst回调)而设计。 可以重构它以提供诸如brotli( BrotliDecoderStateBROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT等)的流接口。 看起来可以像Zlib::InflateZlib::Deflate一样提供api作为ruby扩展。