一、简介
Base64是一种常用的编码方式,可以将任意的二进制数据编码成只包含可打印字符的ASCII字符串,用于在文本协议中传输数据。Base64编码的原理是将输入数据每3个字节一组,转换为4个Base64字符。如果输入数据的长度不是3的倍数,会进行相应的填充。
在Go语言中,可以使用encoding/base64包来进行Base64编码和解码操作。该包提供了StdEncoding和URLEncoding两种编码方式。
二、示例
编码和解码代码示例
package main
import (
"encoding/base64"
"fmt"
)
func main() {
// 要编码的数据
data := []byte("Hello, World!")
// Base64编码
encoded := base64.StdEncoding.EncodeToString(data)
fmt.Println("Encoded:", encoded)
// Base64解码
decoded, err := base64.StdEncoding.DecodeString(encoded)
if err != nil {
fmt.Println("Decode error:", err)
return
}
fmt.Println("Decoded:", string(decoded))
}
运行上述代码,输出结果如下:
Encoded: SGVsbG8sIFdvcmxkIQ==
Decoded: Hello, World!