Documentation
ΒΆ
Overview ΒΆ
Package lzw implements the Lempel-Ziv-Welch compressed data format, described in T. A. Welch, βA Technique for High-Performance Data Compressionβ, Computer, 17(6) (June 1984), pp 8-19.
In particular, it implements LZW as used by the GIF and PDF file formats, which means variable-width codes up to 12 bits and the first two non-literal codes are a clear code and an EOF code.
The TIFF file format uses a similar but incompatible version of the LZW algorithm. See the golang.org/x/image/tiff/lzw package for an implementation.
Index ΒΆ
Constants ΒΆ
This section is empty.
Variables ΒΆ
This section is empty.
Functions ΒΆ
func NewReader ΒΆ
NewReader creates a new io.ReadCloser. Reads from the returned io.ReadCloser read and decompress data from r. If r does not also implement io.ByteReader, the decompressor may read more data than necessary from r. It is the caller's responsibility to call Close on the ReadCloser when finished reading. The number of bits to use for literal codes, litWidth, must be in the range [2,8] and is typically 8. It must equal the litWidth used during compression.
It is guaranteed that the underlying type of the returned io.ReadCloser is a *Reader.
func NewWriter ΒΆ
NewWriter creates a new io.WriteCloser. Writes to the returned io.WriteCloser are compressed and written to w. It is the caller's responsibility to call Close on the WriteCloser when finished writing. The number of bits to use for literal codes, litWidth, must be in the range [2,8] and is typically 8. Input bytes must be less than 1<<litWidth.
It is guaranteed that the underlying type of the returned io.WriteCloser is a *Writer.
Types ΒΆ
type Reader ΒΆ added in go1.17
type Reader struct {
// contains filtered or unexported fields
}
Reader is an io.Reader which can be used to read compressed data in the LZW format.
func (*Reader) Close ΒΆ added in go1.17
Close closes the Reader and returns an error for any future read operation. It does not close the underlying io.Reader.
type Writer ΒΆ added in go1.17
type Writer struct {
// contains filtered or unexported fields
}
Writer is an LZW compressor. It writes the compressed form of the data to an underlying writer (see NewWriter).
func (*Writer) Close ΒΆ added in go1.17
Close closes the Writer, flushing any pending output. It does not close w's underlying writer.