...

Package ascii85

import "encoding/ascii85"
概览
索引

概览 ▾

ascii85 包是对 ascii85 的数据编码的实现. 被用于 btoa ( binary to ascii )工具, Adobe 的 PostScript 和PDF文档格式。

func Decode

func Decode(dst, src []byte, flush bool) (ndst, nsrc int, err error)

Decode 从源解码到目标,返回写入目标和源消耗的字节数. 若源包含无效 ascii85 数据, Decode 将返回成功写入的字节数和 CorruptInputError 函数。 Decode 忽略源中的空格和控制字符。 通常,ascii85 编码数据用 <~ 和 ~> 符号括起来。 Decode 期望这些被调用器去除。

若 flush 为真, Decode 会假定源表现为输入流结束并立即处理,而不是等待另一个32位块的结束。

NewDecoder 包含一个 io.Reader 接口,区别于 Decode 。

func Encode

func Encode(dst, src []byte) int

Encode 编码源的最多 MaxEncodedLen(len(src)) 字节的到目标, 返回实际的写入字节数。

通过对最后分段使用特殊的编码来操作4字节的数据块,所以 Encode 用在大型数据流的私有块上是不合适的。用 NewEncoder() 替代。

通常, ascii85 编码的数据用符号 <~ 和 ~> 括起来。 Encode 不加这些。

func MaxEncodedLen

func MaxEncodedLen(n int) int

MaxEncodedLen 返回 n 源字节编码的最大长度.

func NewDecoder

func NewDecoder(r io.Reader) io.Reader

NewDecoder 构造一个新的 ascii85 流解码器.

func NewEncoder

func NewEncoder(w io.Writer) io.WriteCloser

NewEncoder 返回一个新的 ascii85 流编码器. 写入到返回的写入器中的数据将被编码,然后写入到 w 中。 Ascii85 编码在32位块中操作;当完成写入时,调用者必须关闭返回的编码器,去除所有尾部块。

type CorruptInputError

type CorruptInputError int64

func (CorruptInputError) Error

func (e CorruptInputError) Error() string