Библиотека сжатия данных, включающая алгоритмы LZ4, Snappy, Zstd, Brotli, GZip, ZLib и Deflate
Пакет лежит в основном пуле хаба, а opm знает этот хаб по умолчанию: короткой формы достаточно.
opm install compressorСкачанный файл ставится командой opm install -f <файл> — сеть для этого уже не нужна.
Описание
compressor
Библиотека для сжатия и распаковки данных в среде OneScript, поддерживающая алгоритмы LZ4, Snappy, Zstd, Brotli, GZip, ZLib и Deflate.
Реализовано с использованием .NET библиотек EasyCompressor и BrotliSharpLib.
Установка
Для установки библиотеки используйте команду:
opm install compressor
Использование
Подробное описание программного интерфейса можно найти в документации.
#Использовать compressor
// Примеры упаковки данных
Процедура Упаковать()
Компрессор = Новый GZipКомпрессор();
// Новый DeflateКомпрессор();
// Новый BrotliКомпрессор();
// Новый LZ4Компрессор();
// Новый ZLibКомпрессор();
// Новый ZstdКомпрессор();
// Новый SnappyКомпрессор();
// 1. Сжимаем двоичные данные и получаем результат
УпакованныеДанные = Компрессор.Упаковать(ДвоичныеДанные);
// 2. Сжимаем двоичные данные и записываем в исходящий поток
Компрессор.Упаковать(ДвоичныеДанные, ИсходящийПоток);
// 3. Сжимаем данные из входящего потока и записываем в исходящий поток
Компрессор.Упаковать(ВходящийПоток, ИсходящийПоток);
// 4. Сжимаем данные из входящего потока и получаем двоичные данные
УпакованныеДанные = Компрессор.Упаковать(ВходящийПоток);
КонецПроцедуры
// Примеры распаковки данных
Процедура Распаковать()
Компрессор = Новый GZipКомпрессор();
// 1. Распаковываем двоичные данные и получаем результат
РаспакованныеДанные = Компрессор.Распаковать(ДвоичныеДанные);
// 2. Распаковываем двоичные данные и записываем в исходящий поток
Компрессор.Распаковать(ДвоичныеДанные, ИсходящийПоток);
// 3. Распаковываем данные из входящего потока и записываем в исходящий поток
Компрессор.Распаковать(ВходящийПоток, ИсходящийПоток);
// 4. Распаковываем данные из входящего потока и получаем двоичные данные
РаспакованныеДанные = Компрессор.Распаковать(ВходящийПоток);
КонецПроцедуры
Совместимость
Библиотека протестирована и совместима с различными версиями OneScript на платформах Windows, Linux и MacOS:
Библиотеки алгоритмов
В таблице ниже приведены используемые .NET библиотеки для каждого алгоритма сжатия в зависимости от версии OneScript: