Base64 编码和解码
Base64 是一种将二进制数据编码成 ASCII 字符的编码方式,常用于在邮件等非纯文本的场景下传输数据。Go 标准库中的 encoding/base64
包提供了 Base64 编码和解码的功能。
编码
encoding/base64
包中的 EncodeToString()
函数可以将一个 []byte 类型的数据编码成 Base64 格式的字符串。下面是一个简单的 Base64 编码示例:
package main
import (
"encoding/base64"
"fmt"
)
func main() {
str := "hello world"
encoded := base64.StdEncoding.EncodeToString([]byte(str))
fmt.Println(encoded)
}
在上面的示例代码中,我们将字符串 hello world转换成了一个[]byte类型的数据,并使用base64.StdEncoding.EncodeToString()` 函数将其编码成 Base64 格式的字符串,最后打印出该字符串。
解码
encoding/base64
包中的 DecodeString()
函数可以将一个 Base64 格式的字符串解码成 []byte 类型的数据。下面是一个简单的 Base64 解码示例:
package main
import (
"encoding/base64"
"fmt"
)
func main() {
str := "aGVsbG8gd29ybGQ="
decoded, err := base64.StdEncoding.DecodeString(str)
if err != nil {
fmt.Println("error:", err)
return
}
fmt.Println(string(decoded))
}
在上面的示例代码中,我们定义了一个 Base64 格式的字符串 str
,使用 base64.StdEncoding.DecodeString()
函数将其解码成一个 []byte
类型的数据,并打印出该数据的字符串表示。