Сжатие библиотек для Ruby? - PullRequest
5 голосов
/ 10 мая 2009

Существуют ли какие-либо библиотеки сжатия / распаковки с открытым исходным кодом для Ruby? Кто-нибудь реализовывал LZW?

Или есть ли библиотеки с открытым исходным кодом, в которых используется компонент сжатия, который можно было бы извлечь для самостоятельного использования?

РЕДАКТИРОВАТЬ - спасибо за ответы! Я должен был упомянуть, что мне нужно сжать длинные строки, которые будут находиться только в базе данных (я не буду сжимать файлы). Кроме того, было бы идеально, если бы любая библиотека могла сделать это с эквивалентной реализацией на JavaScript для клиентской части comp / decomp, как это было бы для веб-приложения.

Ответы [ 4 ]

5 голосов
/ 10 мая 2009

Вы найдете хороший список всех поставленных библиотек ruby ​​в разделе ruby ​​stdlib .

Я бы использовал библиотеку zlib, она открыта, она используется везде, и вы найдете библиотеки практически для каждого языка!

3 голосов
/ 10 мая 2009
2 голосов
/ 06 марта 2012

zlib - это хорошо, если вам важнее размер, а не скорость, или вы хотите быть уверены, что на других языках есть привязки для совместимости. Для передачи по телеграфу скорость и загрузка ЦП зачастую более важны.

Несколько библиотек ruby, интегрирующих гораздо более быстрые библиотеки сжатия: Google Snappy , QuickLZ и LZO

0 голосов
/ 30 сентября 2018

Лучшая реализация C lzw, которую я нашел, это lzw-ab .

Предназначен для потоковой передачи (src, dst обратных вызовов). Можно реорганизовать его для обеспечения потокового интерфейса, такого как brotli (BrotliDecoderState, BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT и т. Д.). Похоже, можно предоставить API, как Zlib::Inflate и Zlib::Deflate как расширение ruby.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...