Skip to content

compress.zlib #

Description

compress.zlib is a small wrapper around compress.deflate for working with zlib streams (RFC 1950).

Examples

import compress.zlib

fn main() {
    data := 'Hello world!'.bytes()
    compressed := zlib.compress(data) or { panic(err) }
    decompressed := zlib.decompress(compressed) or { panic(err) }
    assert decompressed == data
}

fn compress #

fn compress(data []u8) ![]u8

compress compresses data using the zlib container format.

fn decompress #

fn decompress(data []u8) ![]u8

decompress decompresses zlib-compressed data.

fn decompress_with_callback #

fn decompress_with_callback(data []u8, cb deflate.ChunkCallback, userdata voidptr) !int

decompress_with_callback decompresses a zlib stream (RFC 1950) using a callback for chunked delivery. The callback receives chunks of decompressed data and should return the chunk length to continue, or 0 to abort. Returns the total decompressed length.