首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Go程序例子(63):Base64编码

Go程序例子(63):Base64编码

原创
作者头像
用户11078756
发布2025-01-17 11:24:18
发布2025-01-17 11:24:18
2290
举报
文章被收录于专栏:go程序例子go程序例子

Go提供了对base64编码/解码的内置支持。

代码语言:go
复制
package main
// 这种语法以b64名称导入encoding/base64包,而不是默认的base64。这将为我们节省一些空间。
import (
    b64 "encoding/base64"
    "fmt"
)

func main() {
		// 这是我们将要编码/解码的字符串。
    data := "abc123!?$*&()'-=@~"
		// Go支持标准和URL兼容的base64。这是使用标准编码器进行编码的方法。编码器需要一个[]byte,因此我们将字符串转换为该类型。
    sEnc := b64.StdEncoding.EncodeToString([]byte(data))
    fmt.Println(sEnc)
		// 解码可能会返回一个错误,如果您不确定输入格式是否正确,可以检查这个错误。
    sDec, _ := b64.StdEncoding.DecodeString(sEnc)
    fmt.Println(string(sDec))
    fmt.Println()
		// 这使用URL兼容的base64格式进行编码/解码。
    uEnc := b64.URLEncoding.EncodeToString([]byte(data))
    fmt.Println(uEnc)
    uDec, _ := b64.URLEncoding.DecodeString(uEnc)
    fmt.Println(string(uDec))
}

运行结果:

代码语言:javascript
复制
➜ go run base64-encoding/base64-encoding.go                 
YWJjMTIzIT8kKiYoKSctPUB+
abc123!?$*&()'-=@~

YWJjMTIzIT8kKiYoKSctPUB-
abc123!?$*&()'-=@~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档