当前位置: 首页>>编程语言>>正文


Go语言教程:Base64编码

返回Go语言教程首页

概念简介

Go语言提供内建的 base64 编解码支持。

例程代码


package main

// 这个语法引入了 `encoding/base64` 包并使用名称 `b64`
// 代替默认的 `base64`。这样可以节省点空间。
import b64 "encoding/base64"
import "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))
}

执行&输出


# 标准 base64 编码和 URL 兼容 base64 编码的编码字符串存在
# 稍许不同(后缀为 `+` 和 `-`),但是两者都可以正确解码为
# 原始字符串。
$ go run base64-encoding.go
YWJjMTIzIT8kKiYoKSctPUB+
abc123!?$*&()'-=@~
YWJjMTIzIT8kKiYoKSctPUB-
abc123!?$*&()'-=@~

课程导航

学习上一篇:Go语言教程:SHA1散列    学习下一篇:Go语言教程:读文件

相关资料

本例程github源代码:https://github.com/xg-wang/gobyexample/tree/master/examples/base64-encoding

Go语言Base64编码

本文由《纯净天空》出品。文章地址: https://vimsky.com/article/4107.html,未经允许,请勿转载。