Go 的 Base64 编解码需用 encoding/base64 包,输入必须为 []byte,推荐 StdEncoding(标准)或 URLEncoding(URL 安全,用 -/_ 替代 +/,省略 =),解码务必检查 error,避免编码类型混用。

Go 语言标准库 encoding/base64 提供了简单高效的 Base64 编码与解码能力,无需额外依赖。核心是使用预定义的编码器(如 StdEncoding 或 URLEncoding),调用 EncodeToString 和 DecodeString 即可完成常见操作。
Base64 编码输入必须是 []byte,输出为字符串。推荐使用 base64.StdEncoding(RFC 4648 标准,含 +、/ 和 =):
base64.StdEncoding.EncodeToString([]byte("hello")) 得到 "aGVsbG8="
[]byte(s))解码需处理可能的错误(比如非法字符、长度不对、填充缺失等),务必检查返回的 error:
data, err := base64.StdEncoding.DecodeString("aGVsbG8=")data 是 []byte{104, 101, 108, 108, 111},即 []byte("hello")
=)在 URL、文件名或 JSON 中传输 Base64 时,应避免 +、/ 和 =。改用 base64.URLEncoding:
立即学习“go语言免费学习笔记(深入)”;
base64.URLEncoding.EncodeToString([]byte("hi!")) → "aGkhIQ=="(标准)→ 实际输出为 "aGkhIQ"(自动省略 =)- 替代 +,_ 替代 /,且不强制填充(但解码时仍支持带/不带 =)URLEncoding.DecodeString,兼容有无填充的输入高频场景下可复用编码器对象提升性能;也可自定义字符集(如用于 legacy 协议):
StdEncoding、URLEncoding、RawStdEncoding(无填充)NewEncoding(string),传入 64 字符字符串(如 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")基本上就这些。记住关键点:输入是字节、检查解码 error、URL 场景换 URLEncoding、别混用编码类型 —— Base64 在 Go 里真的不复杂但容易忽略细节。
以上就是如何使用Golang encoding/base64进行编码与解码_Golang Base64编码示例的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号