# package lzw

`import "compress/lzw"`

lzw包实现了Lempel-Ziv-Welch数据压缩格式，这是一种T. A. Welch在“A Technique for High-Performance Data Compression”一文（Computer, 17(6) (June 1984), pp 8-19）提出的一种压缩格式。

本包实现了用于GIF、TIFF、PDF文件的lzw压缩格式，这是一种最长达到12位的变长码，头两个非字面码为clear和EOF码。

## type Order

    type Order int

Order指定一个lzw数据流的位顺序。

    const (
        // LSB表示最小权重位在前，用在GIF文件格式
        LSB Order = iota
        // MSB表示最大权重位在前，用在TIFF和PDF文件格式
        MSB
    )

## func NewReader

    func NewReader(r io.Reader, order Order, litWidth int) io.ReadCloser

创建一个io.ReadCloser，它从r读取并解压数据。调用者有责任在结束读取后调用返回值的Close方法；litWidth指定字面码的位数，必须在[2,8]范围内，一般为8。

## func NewWriter

    func NewWriter(w io.Writer, order Order, litWidth int) io.WriteCloser

创建一个io.WriteCloser，它将数据压缩后写入w。调用者有责任在结束写入后调用返回值的Close方法；litWidth指定字面码的位数，必须在[2,8]范围内，一般为8。