go base64 编码.md

本文介绍了Go语言中Base64的编码和解码,包括两个默认的编解码器,异常类CorruptInputError的处理,以及各种编码解码方法如Decode, DecodeString, Encode, EncodeToString等。此外,还讨论了适用于大文件的流解码器NewDecoder和流编码器NewEncoder的使用。" 77725597,6898095,Flume容灾sink处理器详解,"['hadoop', 'flume', '容灾', '数据处理']
摘要由CSDN通过智能技术生成

两个默认的编/解码器:

// 使用 RFC 4648 定义的标准 base64 编码字符集初始化的编解码器
var StdEncoding = NewEncoding(encodeStd)
// 使用 RFC 4648 定义的标准 base64 编码字符集初始化的编解码器,用于URL和文件名。
var URLEncoding = NewEncoding(encodeURL)

这两个变量可以直接拿来用,比如将一个图片序列化:

imgPath := "/home/hongyu/图片/wallhaven-672612.jpg"
imgf, err := os.Open(imgPath)
// if err != nil{...}
data, err := ioutil.ReadAll(imgf)
// if err != nil {...}
b64 := base64.StdEncoding.EncodeToString(data)   // 序列化为字符串

序列化一个 url:

url := []byte("https://www.bilibili.com/bangumi/media/md28223790/?from=search&seid=458027751011287317")
b64 = base64.URLEncoding.EncodeToString(url)

异常类 CorruptInputError

当编/解码遇到非法字符就会返回 该异常类

编解码类 Encoding

type Encoding struct {
   
    // 内含隐藏或非导出字段
}

双向的编码/解码协议,根据一个64字符的字符集定义,RFC 4648 标准化了两种字符集。默认字符集用于 MIME(RFC 2045)和 PEM(RFC 1421)编码;另一种用于 URL 和文件名,用 ‘-’ 和 ‘_’ 替换了 ‘+’ 和 ‘/’。

函数 NewEncoding

func NewEncoding(encoder string) *Encoding    

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

方法 DecodedLen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值