Module Gz

Inheritance graph
_Gz Gz
Description

The Gz module contains functions to compress and uncompress strings using the same algorithm as the program gzip. Compressing can be done in streaming mode or all at once.

The Gz module consists of two classes; Gz.deflate and Gz.inflate. Gz.deflate is used to pack data and Gz.inflate is used to unpack data. (Think "inflatable boat")

Note

Note that this module is only available if the gzip library was available when Pike was compiled.

Note that although these functions use the same algorithm as gzip, they do not use the exact same format, so you cannot directly unzip gzipped files with these routines. Support for this will be added in the future.


Inherit _Gz

inherit _Gz : _Gz


Constant DEFAULT_STRATEGY

constant Gz.DEFAULT_STRATEGY

Description

The default strategy as selected in the zlib library.


Constant FILTERED

constant Gz.FILTERED

Description

This strategy is intented for data created by a filter or predictor and will put more emphasis on huffman encoding and less on LZ string matching. This is between DEFAULT_STRATEGY and HUFFMAN_ONLY.


Constant FIXED

constant Gz.FIXED

Description

In this mode dynamic huffman codes are disabled, allowing for a simpler decoder for special applications. This mode is not available in all zlib versions.


Constant HUFFMAN_ONLY

constant Gz.HUFFMAN_ONLY

Description

This strategy will turn of string matching completely, only doing huffman encoding. Window size doesn't matter in this mode and the data can be decompressed with a zero size window.


Constant RLE

constant Gz.RLE

Description

This strategy is even closer to the HUFFMAN_ONLY in that it only looks at the latest byte in the window, i.e. a window size of 1 byte is sufficient for decompression. This mode is not available in all zlib versions.