使用Golang将base64数据解码成字符串

4
我正在尝试在golang中解码一个简单的base64编码字符串。
package main
import b64 "encoding/base64"
import fmt

func main() {
    data := "YmFzZTY0IGVuY29kZWQgc3RyaW5n"
    sDec, err1 := b64.StdEncoding.DecodeString(data)
    fmt.Println(sDec)
    fmt.Println(err1)
}

我所得到的输出是
[98 97 115 101 54 52 32 101 110 99 111 100 101 100 32 115 116 114 105 110 103] // this is the decoded data.
<nil>

https://www.base64decode.net/不同,它将解码并输出为

base64 encoded string

如何在golang中获得相同的结果?


看起来那个方便的网站有一个 Golang 演示 https://www.base64decode.net/golang-decodestring - Scott Stensland
1个回答

9

StdEncoding.DecodeString(data) (这是 base64.Encoding.DecodeString()) 将编码后的数据解码为字节切片 ([]byte),而你在控制台看到的是每个字节的十进制表示。

如果你想将它作为一个 string 值查看,转换 字节切片为 string 类型:

fmt.Println(string(sDec))

或者使用格式化字符串,其中您指定要将其打印为string
fmt.Printf("%s\n", sDec)

然后输出结果将为(在Go Playground上尝试):
base64 encoded string

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接