Package base32

import "encoding/base32"
Overview
Index
Examples

Overview ▾

包base32实现RFC 4648指定的base32编码.

Constants

const (
    StdPadding rune = '=' // Standard padding character
    NoPadding  rune = -1  // No padding
)

Variables

HexEncoding是RFC 4648中定义的"扩展十六进制字母".通常在DNS中使用.

var HexEncoding = NewEncoding(encodeHex)

StdEncoding是标准的base32编码,如RFC 4648中所定义.

var StdEncoding = NewEncoding(encodeStd)

func NewDecoder

func NewDecoder(enc *Encoding, r io.Reader) io.Reader

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

func NewEncoder

func NewEncoder(enc *Encoding, w io.Writer) io.WriteCloser

NewEncoder返回一个新的base32流编码器. 写入返回的写入器的数据将使用enc进行编码,然后写入w. Base32编码以5字节块为单位; 完成写入后,调用者必须关闭返回的编码器以刷新任何部分写入的块.

Example

MZXW6ADCMFZA====

type CorruptInputError

type CorruptInputError int64

func (CorruptInputError) Error

func (e CorruptInputError) Error() string

type Encoding

编码是一种基数32编码/解码方案,由32个字符的字母定义. 最常见的是为SASL GSSAPI引入的" base32"编码,并在RFC 4648中进行了标准化.在DNSSEC中使用备用的" base32hex"编码.

type Encoding struct {
    // contains filtered or unexported fields
}

func NewEncoding

func NewEncoding(encoder string) *Encoding

NewEncoding返回由给定字母定义的新Encoding,该字母必须是32字节的字符串.

func (*Encoding) Decode

func (enc *Encoding) Decode(dst, src []byte) (n int, err error)

解码使用编码enc解码src. 它最多将DecodedLen(len(src))字节写入dst,并返回写入的字节数. 如果src包含无效的base32数据,它将返回成功写入的字节数和CorruptInputError. 换行符(\ r和\ n)将被忽略.

func (*Encoding) DecodeString

func (enc *Encoding) DecodeString(s string) ([]byte, error)

DecodeString返回由base32字符串s表示的字节.

Example

"some data with \x00 and \ufeff"

func (*Encoding) DecodedLen

func (enc *Encoding) DecodedLen(n int) int

DecodedLen返回对应于n字节的base32编码数据的解码数据的最大长度(以字节为单位).

func (*Encoding) Encode

func (enc *Encoding) Encode(dst, src []byte)

Encode使用编码enc对src进行编码,将EncodedLen(len(src))字节写入dst.

编码会将输出填充为8字节的倍数,因此Encode不适合用于大型数据流的各个块. 请改用NewEncoder().

func (*Encoding) EncodeToString

func (enc *Encoding) EncodeToString(src []byte) string

EncodeToString返回src的base32编码.

Example

MFXHSIBLEBXWYZBAEYQGIYLUME======

func (*Encoding) EncodedLen

func (enc *Encoding) EncodedLen(n int) int

EncodedLen返回长度为n的输入缓冲区的base32编码的长度(以字节为单位).

func (Encoding) WithPadding 1.9

func (enc Encoding) WithPadding(padding rune) *Encoding

WithPadding创建一个与enc相同的新编码,但带有指定的填充字符,或者使用NoPadding禁用填充. 填充字符不能为" \ r"或" \ n",也不能包含在编码字母中,并且其符文必须等于或小于" \ xff".

by  ICOPY.SITE