hub.oscript.io
hub.oscript.io
Войти

compressorпакет

Библиотека сжатия данных, включающая алгоритмы LZ4, Snappy, Zstd, Brotli, GZip, ZLib и Deflate

автор: Dmitry Ivanovскачиваний: 61репозиторий: github.com/Stivo182/oscript-compressor

Пакет лежит в основном пуле хаба, а 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: