encoding/ascii85

ascii85包实现了ascii85数据编码(5个ascii字符表示4个字节),该编码用于btoa工具和Adobe的PostScript语言和PDF文档格式。

编码

func Encode(dst, src []byte) int

将src编码成最多MaxEncodedLen(len(src))数据写入dst,返回实际写入的字节数。编码每4字节一段进行一次,最后一个片段采用特殊的处理方式,因此不应将本函数用于处理大数据流的某一独立数据块。

一般来说ascii85编码数据会被'<'和'>'包括起来,函数并未添加上它们。

解码

func Decode(dst, src []byte, flush bool) (ndst, nsrc int, err error)
将src解码后写入dst,返回写入dst的字节数、从src解码的字节数。如果src含有非法数据,函数将返回成功执行的数据(两个数字)和CorruptInputError。如果flush为真,则函数会认为src代表输入流的结尾,完全处理src,而不会等待另一个32字节的数据块。

函数会忽略src中的空格和控制字符,一般来说ascii85编码数据会被'<'和'>'包括起来,但是调用者应自行去掉它们。

编码器

func NewEncoder(w io.Writer) io.WriteCloser
创建一个将数据编码为ascii85流写入w的编码器。Ascii85编码算法操作32位块,写入结束后,必须调用Close方法将缓存中保留的不完整块刷新到w里。

解码器

func NewDecoder(r io.Reader) io.Reader

创建一个从r解码ascii85流的解码器。

https://blog.csdn.net/wangshubo1989/article/details/78191456/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这一幅画了很多天,而且画了不止一遍,期间两个孩子各种捣乱,完成一幅画不是容易的事,虽然慢,但是要坚持,一切美好的事...
    岁月静好LWY阅读 174评论 0 0
  • 时间匆匆,记忆也会随之淡忘,可能10年后的世界已经是“物联网了”,噢这个物我可是指的“生物”。我也有可能不从事互...
    猿气十足阅读 821评论 1 6
  • 珩儿520阅读 157评论 0 0
  • 午饭后回到上课的地方,感觉有点闷,便打开窗户透透气。凉凉的微风让自己倍觉清爽。从24楼向下望去,别有一番风景。 大...
    幸福_娟阅读 251评论 0 3
  • 有时候我们需要把一个函数的yield结果传递给另一个函数,怎么实现呢? 先说一下我研究的结果: 需要在中间函数中遍...
    曹建峰阅读 582评论 0 0