Skip to content

Latest commit

 

History

History
137 lines (112 loc) · 5.27 KB

README.md

File metadata and controls

137 lines (112 loc) · 5.27 KB

oscript-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. Читаем входящий поток и возвращаем распакованные двоичные данные
  РаспакованныеДанные = Компрессор.Распаковать(ВходящийПоток);

КонецПроцедуры

Совместимость

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

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

Алгоритм 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