Go提供了对base64编码/解码的内置支持。
package main
// 这种语法以b64名称导入encoding/base64包,而不是默认的base64。这将为我们节省一些空间。
import (
b64 "encoding/base64"
"fmt"
)
func main() {
// 这是我们将要编码/解码的字符串。
data := "abc123!?$*&()'-=@~"
// Go支持标准和URL兼容的base64。这是使用标准编码器进行编码的方法。编码器需要一个[]byte,因此我们将字符串转换为该类型。
sEnc := b64.StdEncoding.EncodeToString([]byte(data))
fmt.Println(sEnc)
// 解码可能会返回一个错误,如果您不确定输入格式是否正确,可以检查这个错误。
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))
}运行结果:
➜ go run base64-encoding/base64-encoding.go
YWJjMTIzIT8kKiYoKSctPUB+
abc123!?$*&()'-=@~
YWJjMTIzIT8kKiYoKSctPUB-
abc123!?$*&()'-=@~原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。