Подмодуль compress.zstd
Подмодуль compress.zstd предоставляет возможность сжимать и
распаковывать данные с использованием алгоритма
zstd. Использовать компрессор
zstd можно следующим образом:
-
Создайте экземпляр компрессора с помощью функции compress.zstd.new():
local zstd_compressor = require('compress.zstd').new()-- or --local zstd_compressor = require('compress').zstd.new()При необходимости можно передать параметры сжатия (zstd_opts), специфичные для
zstd:
local zstd_compressor = require('compress.zstd').new({level = 5})compressed_data = zstd_compressor:compress('Hello world!')decompressed_data = zstd_compressor:decompress(compressed_data)print(decompressed_data)
- Чтобы сжать указанные данные, используйте метод compress():
local zstd_compressor = require('compress.zstd').new({level = 5})compressed_data = zstd_compressor:compress('Hello world!')decompressed_data = zstd_compressor:decompress(compressed_data)print(decompressed_data)
- Чтобы распаковать данные, вызовите decompress():
local zstd_compressor = require('compress.zstd').new({level = 5})compressed_data = zstd_compressor:compress('Hello world!')decompressed_data = zstd_compressor:decompress(compressed_data)print(decompressed_data)
Ниже приведен список функций и объектов compress.zstd.
Имя | Назначение |
|---|---|
Создает экземпляр компрессора | |
Экземпляр компрессора | |
Параметры конфигурации компрессора |
Создает экземпляр компрессора zstd.
Параметры:
zstd_opts(table) — параметры сжатияzstd(см. zstd_opts)
Возвращает
новый экземпляр компрессора zstd (см.
zstd_compressor)
Тип возвращаемого значения
userdata
Пример:
local zstd_compressor = require('compress.zstd').new({level = 5})compressed_data = zstd_compressor:compress('Hello world!')decompressed_data = zstd_compressor:decompress(compressed_data)print(decompressed_data)
Экземпляр компрессора, предоставляющий API для сжатия и распаковки
данных с использованием алгоритма zstd. Чтобы создать компрессор
zstd, вызовите compress.zstd.new().
Сжимает указанные данные.
Параметры:
data(string) — данные для сжатия
Возвращает
сжатые данные
Тип возвращаемого значения
string
Пример:
local zstd_compressor = require('compress.zstd').new({level = 5})compressed_data = zstd_compressor:compress('Hello world!')decompressed_data = zstd_compressor:decompress(compressed_data)print(decompressed_data)
Распаковывает указанные данные.
Параметры:
data(string) — данные для распаковки
Возвращает
распакованные данные
Тип возвращаемого значения
string
Пример:
local zstd_compressor = require('compress.zstd').new({level = 5})compressed_data = zstd_compressor:compress('Hello world!')decompressed_data = zstd_compressor:decompress(compressed_data)print(decompressed_data)
Параметры конфигурации zstd_compressor. Эти параметры можно передать в функцию compress.zstd.new().
Пример:
local zstd_compressor = require('compress.zstd').new({level = 5})compressed_data = zstd_compressor:compress('Hello world!')decompressed_data = zstd_compressor:decompress(compressed_data)print(decompressed_data)
Задает уровень сжатия zstd, позволяющий настроить соотношение степени
сжатия и скорости. Более низкий уровень повышает скорость сжатия за счет
степени сжатия. Например, можно использовать уровень 1, если важна
скорость, и уровень 22, если важен размер.
- По умолчанию:
3 - Минимум:
-131072 - Максимум:
22