Go语言中base64包提供编码解码功能,通过StdEncoding处理普通数据,URLEncoding用于URL安全场景,需注意字符串与字节切片转换及解码错误处理。

在Go语言中,encoding/base64 包提供了Base64编码和解码的功能。Base64常用于将二进制数据转换为文本格式,便于在网络传输或存储时避免乱码问题。
导入 base64 包
使用前需要导入标准库中的 base64 包:import "encoding/base64"
Base64 编码示例
将字符串或字节数据进行 Base64 编码:package main
<p>import (
"encoding/base64"
"fmt"
)</p><p>func main() {
data := "Hello, 世界!"
encoded := base64.StdEncoding.EncodeToString([]byte(data))
fmt.Println("编码结果:", encoded)
}
输出:编码结果: SGVsbG8sIOS4lueVjO+8gQ==
Base64 解码示例
将 Base64 字符串还原为原始数据:func main() {
encoded := "SGVsbG8sIOS4lueVjO+8gQ=="
decoded, err := base64.StdEncoding.DecodeString(encoded)
if err != nil {
fmt.Println("解码失败:", err)
return
}
fmt.Println("解码结果:", string(decoded))
}
输出:解码结果: Hello, 世界!
立即学习“go语言免费学习笔记(深入)”;
处理 URL 安全的 Base64 编码
如果数据用于 URL 或文件名,建议使用 URL 安全的编码方式(替换 + 和 / 为 - 和 _):data := "Hello+World/"
// 使用 URLEncoding
encoded := base64.URLEncoding.EncodeToString([]byte(data))
fmt.Println("URL安全编码:", encoded)
<p>decoded, err := base64.URLEncoding.DecodeString(encoded)
if err != nil {
fmt.Println("解码失败:", err)
return
}
fmt.Println("URL安全解码:", string(decoded))
基本上就这些。标准编码用 StdEncoding,URL 场景用 URLEncoding,注意处理解码时的错误即可。










