首页 > 后端开发 > Golang > 正文

如何使用Golang encoding/base64进行Base64编码_编码和解码示例

P粉602998670
发布: 2025-12-17 03:39:27
原创
494人浏览过
Go语言encoding/base64包提供标准与URL安全Base64编解码:EncodeToString将[]byte转Base64字符串,DecodeString反向解析并需检查错误;URLEncoding用-/_替代+/且默认无填充;二进制数据推荐流式处理。

如何使用golang encoding/base64进行base64编码_编码和解码示例

Go语言标准库中的encoding/base64包提供了高效、安全的Base64编码与解码能力,无需第三方依赖,适用于HTTP传输、密码学辅助、数据序列化等常见场景。

基础编码:字符串转Base64

使用base64.StdEncoding.EncodeToString()可将字节切片(如字符串转[]byte)快速编码为标准Base64字符串。注意:输入是[]byte,不是原始字符串;编码结果不含换行符,符合RFC 4648标准。

示例:

package main

import (
    "encoding/base64"
    "fmt"
)

func main() {
    data := "Hello, 世界"
    encoded := base64.StdEncoding.EncodeToString([]byte(data))
    fmt.Println(encoded) // SGVsbG8sIOS4lueVjA==
}
登录后复制

基础解码:Base64字符串还原为原始数据

base64.StdEncoding.DecodeString()解码。该函数返回[]byte和错误;若输入非法(如长度非4倍数、含非法字符),会返回err != nil,务必检查错误。

立即学习go语言免费学习笔记(深入)”;

Android高手进阶教程之 Android Widget开发案例
Android高手进阶教程之 Android Widget开发案例

Android高手进阶教程(八)之----Android Widget开发案例(世界杯倒计时!),主要向大家讲解使用Android Widget如何编写出一款世界杯风格的倒计时程序,教程说出了制作步骤和代码。

Android高手进阶教程之 Android Widget开发案例 2
查看详情 Android高手进阶教程之 Android Widget开发案例
  • 解码前建议先用base64.StdEncoding.WithPadding(base64.NoPadding)处理无填充的输入(如URL安全变体)
  • 若不确定是否含填充,可用base64.RawStdEncoding(忽略填充)或预处理补足=

示例:

decoded, err := base64.StdEncoding.DecodeString("SGVsbG8sIOS4lueVjA==")
if err != nil {
    panic(err)
}
fmt.Println(string(decoded)) // Hello, 世界
登录后复制

处理二进制数据(如图片、文件)

Base64常用于嵌入二进制资源(如PNG图标、JWT载荷)。此时直接操作[]byte更自然——读取文件后编码,或解码后写入文件。

  • 编码:读取os.Fileio.ReadAllEncodeToString
  • 解码:DecodeString → 写入新文件(注意设置正确权限,如0644
  • 大文件建议用Encoder/Decoder流式处理,避免内存暴涨

URL安全变体(base64.URLEncoding)

标准Base64含+/,不适用于URL或文件名。Go提供base64.URLEncoding,用-_替代,并默认无填充。

  • 编码:base64.URLEncoding.EncodeToString([]byte("token"))dG9rZW4=(实际输出无=
  • 解码:base64.URLEncoding.DecodeString("dG9rZW4") 支持无填充输入
  • 若需兼容旧系统(要求填充),可显式调用.WithPadding(base64.StdPadding)

不复杂但容易忽略:始终校验解码错误,区分标准与URL变体,二进制数据优先走字节流而非字符串中间转换。

以上就是如何使用Golang encoding/base64进行Base64编码_编码和解码示例的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号