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
func NewReader(r io.Reader, order Order, litWidth int) io.ReadCloser
func NewWriter(w io.Writer, order Order, litWidth int) io.WriteCloser
Order指定一個lzw數據流的位順序。
const (
// LSB表示最小權重位在前,用在GIF文件格式
LSB Order = iota
// MSB表示最大權重位在前,用在TIFF和PDF文件格式
MSB
)
func NewReader(r io.Reader, order Order, litWidth int) io.ReadCloser
創建一個io.ReadCloser,它從r讀取並解壓數據。調用者有責任在結束讀取後調用返回值的Close方法;litWidth指定字面碼的位數,必須在[2,8]範圍內,一般為8。
func NewWriterfunc NewWriter(w io.Writer, order Order, litWidth int) io.WriteCloser
創建一個io.WriteCloser,它將數據壓縮後寫入w。調用者有責任在結束寫入後調用返回值的Close方法;litWidth指定字面碼的位數,必須在[2,8]範圍內,一般為8。
參考資料:
Go語言中文文檔
http://www.golang.ltd/
Go語言官方文檔
https://golang.google.cn/
Golang語言情懷
ID:wwwGolangLtd
www.Golang.Ltd
遊戲伺服器架構丨分布式技術丨大數據丨Go語言學習