Go语言中base64包提供标准编码解码功能,使用StdEncoding.EncodeToString将字节切片转为Base64字符串,如"Hello, 世界"编码为"SGVsbG8sIOS4lueVjA==";对于URL场景应选用URLEncoding以避免特殊字符问题;解码时需用DecodeString并检查错误确保数据完整;还可使用RawStdEncoding去除填充符=,适用于JWT等协议;正确选择编码方式保障兼容性与安全性。

在Go语言中,encoding/base64 包提供了标准的Base64编码和解码功能,常用于将二进制数据转换为文本格式,便于在网络传输或配置文件中使用。下面介绍如何使用该包进行常见的编码与解码操作。
标准Base64编码
使用 base64.StdEncoding 可以对字节切片进行标准Base64编码。
data := []byte("Hello, 世界")
encoded := base64.StdEncoding.EncodeToString(data)
fmt.Println(encoded) // 输出: SGVsbG8sIOS4lueVjA==
EncodeToString 是常用方法,它接收字节切片并返回Base64字符串。
URL安全的Base64编码
当Base64字符串需要用于URL或文件名时,应使用 URL 安全编码(替换特殊字符 + 和 / 为 - 和 _)。
立即学习“go语言免费学习笔记(深入)”;
encodedURL := base64.URLEncoding.EncodeToString(data) fmt.Println(encodedURL) // 输出: SGVsbG8sIOS4lueVjA==
在大多数情况下,URLEncoding 和 StdEncoding 输出相同,但在包含特殊字符的数据中会体现差异。
SHOPEX简灰服装商城整站源码下载。 安装方法:1.解压上传程序至网站根目录.. 访问:域名/bak.(用户名:admin 密码:123456)2.进入帝国备份王后,配置数据库数据库信息.选择-www.taomoban.net目录.还原数据库.3.修改FTP目录下的config/config.phpphp 数据库连接信息.4.登陆网站后台--清空缓存..5.删除bak文件夹 后台:shopadm
Base64解码
解码时需处理可能的错误,例如输入字符串格式不正确或包含非法字符。
decoded, err := base64.StdEncoding.DecodeString(encoded)
if err != nil {
log.Fatal("解码失败:", err)
}
fmt.Printf("%s\n", decoded) // 输出: Hello, 世界
DecodeString 返回字节切片和错误,务必检查错误以确保数据完整性。
自定义编码格式(可选)
Go 还支持自定义编码字符集,适用于特殊需求场景,如不带填充符的编码。
rawEncoding := base64.RawStdEncoding // 无填充 '=' rawEncoded := rawEncoding.EncodeToString(data) fmt.Println(rawEncoded) // 输出无等号结尾
Raw 编码常用于JWT等协议中,避免填充符带来的解析问题。
基本上就这些。掌握 StdEncoding、URLEncoding 和解码错误处理,就能满足大多数场景需求。注意选择合适的编码方式,保证数据兼容性和安全性。









