golang 解码[]byte类型的base64
时间: 2024-09-13 22:15:57 浏览: 103
在Go语言中,可以使用标准库中的`encoding/base64`包来解码`[]byte`类型的base64数据。具体步骤如下:
1. 首先,需要导入`encoding/base64`包。
2. 使用`base64.StdEncoding.Decode()`函数或者`base64.DecodeString()`函数,将base64编码的字符串转换成原始的`[]byte`数据。
这里是一个使用`base64.StdEncoding.Decode()`函数解码base64字符串的示例代码:
```go
package main
import (
"encoding/base64"
"fmt"
"log"
)
func main() {
// 这里是base64编码的字符串
base64Str := "SGVsbG8gV29ybGQh" // "Hello World!"的base64编码
// 将字符串转换为[]byte类型
base64Bytes := []byte(base64Str)
// 解码base64数据
decodedBytes, err := base64.StdEncoding.Decode(base64Bytes)
if err != nil {
log.Fatal("解码失败: ", err)
}
// 输出解码后的原始数据
fmt.Println(string(decodedBytes))
}
```
在这个示例中,我们首先创建了一个base64编码的字符串`base64Str`,然后将其转换为`[]byte`类型。之后使用`base64.StdEncoding.Decode()`函数对编码的字节数据进行解码,并将结果打印出来。
使用`base64.DecodeString()`函数的示例代码如下:
```go
package main
import (
"encoding/base64"
"fmt"
"log"
)
func main() {
// 这里是base64编码的字符串
base64Str := "SGVsbG8gV29ybGQh" // "Hello World!"的base64编码
// 解码base64字符串
decodedBytes, err := base64.DecodeString(base64Str)
if err != nil {
log.Fatal("解码失败: ", err)
}
// 输出解码后的原始数据
fmt.Println(string(decodedBytes))
}
```
在这段代码中,我们直接使用`base64.DecodeString()`函数对字符串进行解码。
阅读全文