Golang base64.DecodeString()函数及示例

在使用Golang进行编程时,我们经常会涉及到对字符串进行base64解码的操作。这时,base64.DecodeString()函数就是一个非常有用的工具。本篇文章将介绍这个函数在Golang中的用法和示例,帮助大家更好地理解和使用这个函数。

函数简介

base64.DecodeString()函数的作用是将一个经过base64编码的字符串进行解码,返回原始数据。具体参数和返回值如下:

func DecodeString(s string) ([]byte, error)
s


illegal base64 data at input byte xxxx

使用示例

为了更好地理解和使用base64.DecodeString()函数,我们将从以下几个方面进行示例演示:

  1. 解码base64编码的字符串
  2. 处理非法的base64字符
  3. 将解码结果存储到文件中

示例 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.")
}