前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Golang语言情怀-第49期 Go 语言标准库翻译 compress/lzw

Golang语言情怀-第49期 Go 语言标准库翻译 compress/lzw

作者头像
李海彬
发布2021-03-09 10:59:06
5740
发布2021-03-09 10:59:06
举报
文章被收录于专栏:Golang语言社区Golang语言社区

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码。

代码语言:javascript
复制
type Order
func NewReader(r io.Reader, order Order, litWidth int) io.ReadCloser
func NewWriter(w io.Writer, order Order, litWidth int) io.WriteCloser

type Order

代码语言:javascript
复制
type Order int

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

代码语言:javascript
复制
const (
    // LSB表示最小权重位在前,用在GIF文件格式
    LSB Order = iota
    // MSB表示最大权重位在前,用在TIFF和PDF文件格式
    MSB
)

func NewReader

代码语言:javascript
复制
func NewReader(r io.Reader, order Order, litWidth int) io.ReadCloser

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

func NewWriter

代码语言:javascript
复制
func 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/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言情怀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • type Order
  • func NewReader
  • func NewWriter
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档