miniz - Easy zlib compression#

Adapted Air780E/Air700E Air780EP Air601 Air101/Air103 Air105 ESP32C3 ESP32S3

Note

This page document is automatically generated by this file. If there is any error, please submit issue or help modify pr, thank you!

Example

-- Prepare the data
local bigdata = "123jfoiq4hlkfjbnasdilfhuqwo;hfashfp9qw38hrfaios;hfiuoaghfluaeisw"
-- compressed, the compressed data is zlib-compatible, other languages can be decompressed through zlib-related libraries
local cdata = miniz.compress(bigdata) 
-- lua The string of is equivalent to char[] with length, which can store all data including 0x 00
if cdata then
    -- Check data size before and after compression
    log.info("miniz", "before", #bigdata, "after", #cdata)
    log.info("miniz", "cdata as hex", cdata:toHex())

    -- Decompress to get the original text
    local udata = miniz.uncompress(cdata)
    log.info("miniz", "udata", udata)
end

Constant#

constant

type

explanation

miniz.WRITE_ZLIB_HEADER

int

compression parameter, whether to write zlib header data, compress the default value of the function

miniz.COMPUTE_ADLER32

int

Compression/Decompression Parameters, Calculation/Verification adler-32

miniz.GREEDY_PARSING_FLAG

int

The compression parameter, whether to process quickly greedy, and the slower processing mode is used by default.

miniz.NONDETERMINISTIC_PARSING_FLAG

int

compression parameters, whether to quickly initialize the compressor

miniz.RLE_MATCHES

int

compression parameters, scan only RLE

miniz.FILTER_MATCHES

int

Compression parameter, filtering characters less than 5 times

miniz.FORCE_ALL_STATIC_BLOCKS

int

Compression parameter, whether to disable the optimized Huffman table.

miniz.FORCE_ALL_RAW_BLOCKS

int

Compression parameter, whether to only use raw blocks

miniz.PARSE_ZLIB_HEADER

int

Decompression parameter, whether to process the zlib header, uncompress the default value of the function.

miniz.HAS_MORE_INPUT

int

Decompression parameters, whether there is more data, only streaming decompression is available, not currently supported

miniz.USING_NON_WRAPPING_OUTPUT_BUF

int

Decompression parameters, whether the decompression interval is sufficient for all data,, only streaming decompression is available, not currently supported

miniz.COMPUTE_ADLER32

int

Decompression parameters, mandatory verification adler-32

miniz.compress(data, flags)#

Fast compression, requires 165kb of system memory and 32kb of LuaVM memory

Parameters

Incoming Value Type

Explanation

string

The data to be compressed. It is not recommended to compress data less than 400 bytes, and the compressed data cannot be larger 32k.

flags

The compression parameter, which is miniz.WRITE_ZLIB_HEADER by default, that is, written to the zlib header

Return Value

return value type

explanation

string

If the compression is successful, return the data string, otherwise return nil

Examples

local bigdata = "123jfoiq4hlkfjbnasdilfhuqwo;hfashfp9qw38hrfaios;hfiuoaghfluaeisw"
local cdata = miniz.compress(bigdata)
if cdata then
    log.info("miniz", "before", #bigdata, "after", #cdata)
    log.info("miniz", "cdata as hex", cdata:toHex())
end

miniz.uncompress(data, flags)#

Fast decompression, requires 32kb of LuaVM memory

Parameters

Incoming Value Type

Explanation

string

Data to be decompressed. The decompressed data cannot be greater 32k

flags

Decompression parameter. The default value is miniz.PARSE_ZLIB_HEADER, that is, the zlib header is parsed.

Return Value

return value type

explanation

string

If the decompression is successful, return the data string, otherwise return nil

Examples

local bigdata = "123jfoiq4hlkfjbnasdilfhuqwo;hfashfp9qw38hrfaios;hfiuoaghfluaeisw"
local cdata = miniz.compress(bigdata)
if cdata then
    log.info("miniz", "before", #bigdata, "after", #cdata)
    log.info("miniz", "cdata as hex", cdata:toHex())

    local udata = miniz.uncompress(cdata)
    log.info("miniz", "udata", udata)
end