package base64

import “encoding/base64”

base64实现了RFC 4648规定的base64编码。

Index 返回首页

Variables type CorruptInputError func (e CorruptInputError) Error() string type Encoding func NewEncoding(encoder string) *Encoding func (enc *Encoding) DecodedLen(n int) int func (enc *Encoding) Decode(dst, src []byte) (n int, err error) func (enc *Encoding) DecodeString(s string) ([]byte, error) func (enc *Encoding) EncodedLen(n int) int func (enc *Encoding) Encode(dst, src []byte) func (enc *Encoding) EncodeToString(src []byte) string func NewDecoder(enc *Encoding, r io.Reader) io.Reader func NewEncoder(enc *Encoding, w io.Writer) io.WriteCloser Examples

返回首页

Encoding.DecodeString Encoding.EncodeToString NewEncoder Variables var StdEncoding = NewEncoding(encodeStd) RFC 4648定义的标准base64编码字符集。

var URLEncoding = NewEncoding(encodeURL) RFC 4648定义的另一base64编码字符集,用于URL和文件名。

type CorruptInputError type CorruptInputError int64 func (CorruptInputError) Error

func (e CorruptInputError) Error() string type Encoding type Encoding struct { // 内含隐藏或非导出字段 } 双向的编码/解码协议,根据一个64字符的字符集定义,RFC 4648标准化了两种字符集。默认字符集用于MIME(RFC 2045)和PEM(RFC 1421)编码;另一种用于URL和文件名,用’-‘和’_’替换了’+’和’/’。

func NewEncoding

func NewEncoding(encoder string) Encoding 使用给出的字符集生成一个Encoding,字符集必须是64字节的字符串。

func (*Encoding) DecodedLen

func (enc *Encoding) DecodedLen(n int) int 返回n字节base64编码的数据解码后的最大长度。

func (*Encoding) Decode

func (enc *Encoding) Decode(dst, src []byte) (n int, err error) 将src的数据解码后存入dst,最多写DecodedLen(len(src))字节数据到dst,并返回写入的字节数。 如果src包含非法字符,将返回成功写入的字符数和CorruptInputError。换行符(\r、\n)会被忽略。

func (*Encoding) DecodeString

func (enc *Encoding) DecodeString(s string) ([]byte, error) 返回base64编码的字符串s代表的数据。

Example func (*Encoding) EncodedLen

func (enc *Encoding) EncodedLen(n int) int 返回n字节数据进行base64编码后的最大长度。

func (*Encoding) Encode

func (enc *Encoding) Encode(dst, src []byte) 将src的数据编码后存入dst,最多写EncodedLen(len(src))字节数据到dst,并返回写入的字节数。

函数会把输出设置为4的倍数,因此不建议对大数据流的独立数据块执行此方法,使用NewEncoder()代替。

func (*Encoding) EncodeToString

func (enc *Encoding) EncodeToString(src []byte) string 返回将src编码后的字符串。

Example func NewDecoder func NewDecoder(enc *Encoding, r io.Reader) io.Reader 创建一个新的base64流解码器。

func NewEncoder func NewEncoder(enc *Encoding, w io.Writer) io.WriteCloser 创建一个新的base64流编码器。写入的数据会在编码后再写入w,base32编码每3字节执行一次编码操作;写入完毕后,使用者必须调用Close方法以便将未写入的数据从缓存中刷新到w中