在使用Golang进行编程时,我们经常会涉及到对字符串进行base64解码的操作。这时,base64.DecodeString()函数就是一个非常有用的工具。本篇文章将介绍这个函数在Golang中的用法和示例,帮助大家更好地理解和使用这个函数。
函数简介
base64.DecodeString()函数的作用是将一个经过base64编码的字符串进行解码,返回原始数据。具体参数和返回值如下:
func DecodeString(s string) ([]byte, error)
s
illegal base64 data at input byte xxxx
使用示例
为了更好地理解和使用base64.DecodeString()函数,我们将从以下几个方面进行示例演示:
- 解码base64编码的字符串
- 处理非法的base64字符
- 将解码结果存储到文件中
示例 1:解码base64编码的字符串
首先,我们将演示如何使用base64.DecodeString()函数解码一个经过base64编码的字符串。以下是示例代码:
package main
import (
"encoding/base64"
"fmt"
)
func main() {
encodedString := "SGVsbG8gV29ybGQh"
decodedBytes, err := base64.StdEncoding.DecodeString(encodedString)
if err != nil {
fmt.Println("decode error:", err)
return
}
fmt.Println(string(decodedBytes))
}
base64.StdEncodingbase64.RawURLEncodingbase64.URLEncoding
Hello World!"Hello World!""SGVsbG8gV29ybGQh"
package main
import (
"encoding/base64"
"fmt"
)
func main() {
encodedString := "SGVsbG8g#V29ybGQh"
decodedBytes, err := base64.StdEncoding.DecodeString(encodedString)
if err != nil {
fmt.Println("decode error:", err)
return
}
fmt.Println(string(decodedBytes))
}
package main
import (
"encoding/base64"
"fmt"
"io/ioutil"
)
func main() {
encodedString := "SGVsbG8gV29ybGQh"
decodedBytes, err := base64.StdEncoding.DecodeString(encodedString)
if err != nil {
fmt.Println("decode error:", err)
return
}
err = ioutil.WriteFile("output.txt", decodedBytes, 0644)
if err != nil {
fmt.Println("write error:", err)
return
}
fmt.Println("decode and write file success.")
}