2017-10-10 25 views
2

我想在golang中解码简单的base64编码字符串。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同样的结果?

+0

看起来像那个方便的网站有一个golang演示https://www.base64decode.net/golang-decodestring –

回答

5

StdEncoding.DecodeString(data)(它是base64.Encoding.DecodeString())将解码后的数据作为字节片返回给您([]byte),这就是您看到的打印内容:各个字节的十进制表示形式。

Convert字节切片string,如果你想看到它作为一个string值:

fmt.Println(string(sDec)) 

或者使用,您可以指定要打印格式字符串作为string

fmt.Printf("%s\n", sDec) 

然后输出将是(尝试它在Go Playground):

base64 encoded string