Skip to content

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

License

Notifications You must be signed in to change notification settings

Stivo182/oscript-compressor

Repository files navigation

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:

Windows Linux MacOS
OneScript 1.9 OneScript 2.0 OneScript 1.9 OneScript 2.0 OneScript 1.9 OneScript 2.0

Библиотеки алгоритмов

В таблице ниже приведены используемые .NET библиотеки для каждого алгоритма сжатия в зависимости от версии OneScript:

Алгоритм OneScript 1.9 OneScript 2.0
GZip System.IO.Compression
Deflate System.IO.Compression
Brotli BrotliSharpLib System.IO.Compression
LZ4 K4os.Compression.LZ4
Zlib DotNetZip System.IO.Compression
Zstd ZstdSharp
Snappy Snappier

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published