在这个例子中,你将学习如何使用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
包,其中包含EncodeToString
和DecodeToString
方法。EncodeToString
需要一个字节数组并返回一个编码的字符串。DecodeToString
需要一个编码的字符串参数并返回一个解码的字节数组(和错误)。
结果
Encoded text: aGVsbG8gZnJvbSBnb3NhbXBsZXMuZGV2IGJhc2U2NCBlbmNvZGluZy9kZWNvZGluZyBleGFtcGxlIQ==
Decoded text: hello from gosamples.dev base64 encoding/decoding example!