Package lzw
Overview ?
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, TIFF 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.
Index
- func NewReader(r io.Reader, order Order, litWidth int) io.ReadCloser
- func NewWriter(w io.Writer, order Order, litWidth int) io.WriteCloser
- type Order
Package files
reader.go
writer.go
func NewReader(r io.Reader, order Order, litWidth int) io.ReadCloser
NewReader creates a new io.ReadCloser that satisfies reads by decompressing
the data read 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.
func NewWriter(w io.Writer, order Order, litWidth int) io.WriteCloser
NewWriter creates a new io.WriteCloser that satisfies writes by compressing
the data and writing it 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.
type Order int
Order specifies the bit ordering in an LZW data stream.
const (
// LSB means Least Significant Bits first, as used in the GIF file format.
LSB Order = iota
// MSB means Most Significant Bits first, as used in the TIFF and PDF
// file formats.
MSB
)