Go语言中base64包提供Base64编解码功能,用于二进制与文本格式转换。1. 导入encoding/base64包;2. 使用StdEncoding.EncodeToString将字节切片编码为标准Base64字符串;3. 使用StdEncoding.DecodeString将Base64字符串解码并处理可能的错误;4. URL安全场景使用URLEncoding避免+和/字符;5. 可选RawStdEncoding去除填充符=以紧凑输出。常用场景包括网络传输、JWT等。

在 Go 语言中,encoding/base64 包提供了标准的 Base64 编码和解码功能。Base64 常用于将二进制数据转换为文本格式,便于在网络传输或存储时避免乱码问题。
导入 base64 包
使用前需导入标准库:
import "encoding/base64"
基本编码示例
将字符串或字节切片编码为 Base64 字符串:
data := "Hello, 世界"encoded := base64.StdEncoding.EncodeToString([]byte(data))// 输出: SGVsbG8sIOS4lueVjA==
说明:先将字符串转为字节切片,再调用 EncodeToString 方法。
立即学习“go语言免费学习笔记(深入)”;
基本解码示例
将 Base64 字符串还原为原始数据:
encoded := "SGVsbG8sIOS4lueVjA=="decoded, err := base64.StdEncoding.DecodeString(encoded)if err != nil { log.Fatal("解码失败:", err)}// 输出: Hello, 世界fmt.Println(string(decoded))
注意:解码可能出错,比如输入不是合法的 Base64 字符串,需检查 error。
处理 URL 安全的 Base64
如果 Base64 字符串用于 URL 或文件名,建议使用 URL 安全编码方式(将 + 和 / 替换为 – 和 _):
// 编码urlEncoded := base64.URLEncoding.EncodeToString([]byte("hello world"))// 解码decoded, err := base64.URLEncoding.DecodeString(urlEncoded)
适用于 JWT、Token 等场景。
自定义编码配置(可选)
Go 还支持自定义字符集,例如不带填充符 ‘=’ 的编码:
rawStd := base64.RawStdEncoding // 无填充的标准编码encoded := rawStd.EncodeToString([]byte("test"))
适合需要紧凑输出的场合。
基本上就这些。标准库使用简单,关键是选择合适的编码方式并处理好错误。实际开发中,StdEncoding 和 URLEncoding 最常用。
以上就是Golang encoding/base64数据编码与解码示例的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1409146.html
微信扫一扫
支付宝扫一扫