package lzw
Import Path
compress/lzw (on go.dev)
Dependency Relation
imports 4 packages, and imported by one package
Involved Source Files
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.
writer.go
Package-Level Type Names (total 3)
Order specifies the bit ordering in an LZW data stream.
func NewReader(r io.Reader, order Order, litWidth int) io.ReadCloser
func NewWriter(w io.Writer, order Order, litWidth int) io.WriteCloser
func (*Reader).Reset(src io.Reader, order Order, litWidth int)
func (*Writer).Reset(dst io.Writer, order Order, litWidth int)
const LSB
const MSB
Reader is an io.Reader which can be used to read compressed data in the
LZW format.
Close closes the [Reader] and returns an error for any future read operation.
It does not close the underlying [io.Reader].
Read implements io.Reader, reading uncompressed bytes from its underlying [Reader].
Reset clears the [Reader]'s state and allows it to be reused again
as a new [Reader].
*Reader : io.Closer
*Reader : io.ReadCloser
*Reader : io.Reader
Writer is an LZW compressor. It writes the compressed form of the data
to an underlying writer (see [NewWriter]).
Close closes the [Writer], flushing any pending output. It does not close
w's underlying writer.
Reset clears the [Writer]'s state and allows it to be reused again
as a new [Writer].
Write writes a compressed representation of p to w's underlying writer.
*Writer : internal/bisect.Writer
*Writer : io.Closer
*Writer : io.WriteCloser
*Writer : io.Writer
Package-Level Functions (total 2)
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].
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].
Package-Level Constants (total 2)
LSB means Least Significant Bits first, as used in the GIF file format.
MSB means Most Significant Bits first, as used in the TIFF and PDF
file formats.
The pages are generated with Golds v0.7.0-preview. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |