Библиотека сжатия данных для 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 | |