返回

新闻详情

兄弟连区块链培训带你实战GO案例(6)Go Base64编码


来源:成都兄弟连IT培训学校时间:2019/5/31 11:17:30

兄弟连GO语言培训课程体系设计架构包括了区块链的基础语言Go语言、区块链后端技术体系、区块链公链、区块链分布式应用开发等内容讲解,以及到最后的面试指导和项目实战。课程由清华微软谷歌名师团队精心打造,历时半年时间共同研发而出。

GoBase64编码

Go提供了对base64编码和解码的内置支持

packagemain

//这种导入包的语法将默认的base64起了一个别名b64,这样

//我们在下面就可以直接使用b64表示这个包,省点输入量

importb64"encoding/base64"

import"fmt"

funcmain(){

//这里是我们用来演示编码和解码的字符串

data:="abc123!?$*&()'-=@~"

//Go支持标准的和兼容URL的base64编码。

//我们这里使用标准的base64编码,这个

//函数需要一个`[]byte`参数,所以将这

//个字符串转换为字节数组

sEnc:=b64.StdEncoding.EncodeToString([]byte(data))

fmt.Println(sEnc)

//解码一个base64编码可能返回一个错误,

//如果你不知道输入是否是正确的base64

//编码,你需要检测一些解码错误

sDec,_:=b64.StdEncoding.DecodeString(sEnc)

fmt.Println(string(sDec))

fmt.Println()

//使用兼容URL的base64编码和解码

uEnc:=b64.URLEncoding.EncodeToString([]byte(data))

fmt.Println(uEnc)

uDec,_:=b64.URLEncoding.DecodeString(uEnc)

fmt.Println(string(uDec))

}

运行结果

YWJjMTIzIT8kKiYoKSctPUB+

abc123!?$*&()'-=@~

YWJjMTIzIT8kKiYoKSctPUB-

abc123!?$*&()'-=@~

这两种方法都将原数据编码为base64编码,区别在于标准的编码后面是+,而兼容URL的编码方式后面是-。


上一篇:兄弟连Go语言培训带你实战GO案例(5)Go 自定义排序

下一篇:兄弟连区块链培训带你实战GO案例(7)Go Defer

  咨询老师  拨打电话  网上报名