Variables
// RFC 4648定义的标准base64编码字符集
var StdEncoding = NewEncoding(encodeStd)
// RFC 4648定义的另一base64编码字符集,用于URL和文件名
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编码后的最大长度
func main() {
var src = "hello world"
var dst string
dst = base64.StdEncoding.EncodeToString([]byte(src))
fmt.Println(dst) // aGVsbG8gd29ybGQ=
bsrc, _ := base64.StdEncoding.DecodeString(dst)
fmt.Println(string(bsrc)) // hello world
}