我是靠谱客的博主 激动皮皮虾,这篇文章主要介绍encoding/base64,现在分享给大家,希望可以做个参考。

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

RFC 4648标准化了两种字符集。默认字符集用于MIME(RFC 2045)和PEM(RFC 1421)编码,RFC 4648定义的另一base64编码字符集,用于URL和文件名用'-'和'_'替换了'+'和'/'

对字符进行编解码

var StdEncoding = NewEncoding(encodeStd)

const encodeStd = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package main import ( "fmt" "encoding/base64" ) func main() { str:= []byte("我爱你蓝天") // 编码 base64Str:= base64.StdEncoding.EncodeToString(str) fmt.Println("base64编码字符串:" ,base64Str) //解码 data,error := base64.StdEncoding.DecodeString(base64Str) if error != nil { fmt.Println(error) } fmt.Println("解码base64:",string(data)) }
1594482-65b6663731c5b365.png
image.png

对文件名或者url路径进行编码

const encodeURL = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package main import ( "fmt" "encoding/base64" ) func main() { str:= []byte("http://baidu.com") // 编码 base64Str:= base64.URLEncoding.EncodeToString(str) fmt.Println("base64编码字符串:" ,base64Str) //解码 data,error := base64.URLEncoding.DecodeString(base64Str) if error != nil { fmt.Println(error) } fmt.Println("解码base64:",string(data)) }
1594482-bad846eb5e65b6cc.png
image.png

获取n个字节编码后的长度以及编码字符解码后的长度

复制代码
1
2
3
fmt.Println(base64.StdEncoding.EncodedLen(64)) fmt.Println(base64.StdEncoding.DecodedLen(88))
1594482-c4da2b979b552273.png
image.png

最后

以上就是激动皮皮虾最近收集整理的关于encoding/base64的全部内容,更多相关encoding/base64内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部