Variables

  1. // RFC 4648定义的标准base64编码字符集
  2. var StdEncoding = NewEncoding(encodeStd)
  3. // RFC 4648定义的另一base64编码字符集,用于URL和文件名
  4. var URLEncoding = NewEncoding(encodeURL)

type Encoding

func NewEncoding(encoder string) *Encoding

  • 使用给出的字符集生成一个*Encoding,字符集必须是64字节的字符串

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

  • 将src的数据解码后存入dst,最多写DecodedLen(len(src))字节数据到dst,并返回写入的字节数
  • 如果src包含非法字符,将返回成功写入的字符数和CorruptInputError

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

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

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

  • 将src的数据编码后存入dst,最多写EncodedLen(len(src))字节数据到dst,并返回写入的字节数

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

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

  1. func main() {
  2. var src = "hello world"
  3. var dst string
  4. dst = base64.StdEncoding.EncodeToString([]byte(src))
  5. fmt.Println(dst) // aGVsbG8gd29ybGQ=
  6. bsrc, _ := base64.StdEncoding.DecodeString(dst)
  7. fmt.Println(string(bsrc)) // hello world
  8. }