func NewReader(r io.Reader, order Order, litWidth int) io.ReadCloser
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(w io.Writer, order Order, litWidth int) io.WriteCloser
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.
Order specifies the bit ordering in an LZW data stream.
type Order int
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 )
Reader is an io.Reader which can be used to read compressed data in the LZW format.
type Reader struct {
// contains filtered or unexported fields
}
func (r *Reader) Close() error
Close closes the Reader and returns an error for any future read operation. It does not close the underlying io.Reader.
func (r *Reader) Read(b []byte) (int, error)
Read implements io.Reader, reading uncompressed bytes from its underlying Reader.
func (r *Reader) Reset(src io.Reader, order Order, litWidth int)
Reset clears the Reader's state and allows it to be reused again as a new Reader.
Writer is an LZW compressor. It writes the compressed form of the data to an underlying writer (see NewWriter).
type Writer struct {
// contains filtered or unexported fields
}
func (w *Writer) Close() error
Close closes the Writer, flushing any pending output. It does not close w's underlying writer.
func (w *Writer) Reset(dst io.Writer, order Order, litWidth int)
Reset clears the Writer's state and allows it to be reused again as a new Writer.
func (w *Writer) Write(p []byte) (n int, err error)
Write writes a compressed representation of p to w's underlying writer.