在Golang中对Base64字符串进行编码和解码教程

327 阅读1分钟

在这个例子中,你将学习如何使用Base64对字符串进行编码和解码。Base64编码将二进制数据转化为文本,使其更容易在基于文本的格式中传输,如JSON或HTML表格。

package main
import (
"encoding/base64"
"fmt"
)
func main() {
text := "hello from gosamples.dev base64 encoding/decoding example!"
// encoding
encodedText := base64.StdEncoding.EncodeToString([]byte(text))
fmt.Printf("Encoded text: %s\n", encodedText)
// decoding
rawDecodedText, err := base64.StdEncoding.DecodeString(encodedText)
if err != nil {
panic(err)
}
fmt.Printf("Decoded text: %s\n", rawDecodedText)
}

要做到这一点,我们需要标准库encoding/base64 包,其中包含EncodeToStringDecodeToString 方法。EncodeToString 需要一个字节数组并返回一个编码的字符串。DecodeToString 需要一个编码的字符串参数并返回一个解码的字节数组(和错误)。

结果

Encoded text: aGVsbG8gZnJvbSBnb3NhbXBsZXMuZGV2IGJhc2U2NCBlbmNvZGluZy9kZWNvZGluZyBleGFtcGxlIQ==
Decoded text: hello from gosamples.dev base64 encoding/decoding example!