📜  Golang 中的 base64.DecodeString()函数示例

📅  最后修改于: 2021-10-25 02:32:31             🧑  作者: Mango

Go 语言为 base64 编码/解码提供内置支持,并具有可用于使用 base64 包对给定数据执行操作的函数。该包提供了DecodeString()函数,用于将 base64字符串解码为其明文形式。它支持使用标准和 URL 兼容的 base64 标准进行解码。

句法:

func (enc *Encoding) DecodeString(s string) ([]byte, error)

与解码器一起使用的编码类型有 4 种变化:

  • StdEncoding:它是 RFC 4648 标准定义的标准编码。
  • RawStdEncoding:它是 RFC 4648 标准定义的标准编码,只是省略了填充字符。
  • URLEncoding:它是 RFC 4648 标准定义的 URL 编码。它通常用于编码 URL 和文件名。
  • RawURLEncoding:它是 RFC 4648 标准定义的 URL 编码。它通常用于对 URL 和文件名进行编码,只是省略了填充字符。

返回值:它返回给定 base64字符串表示的字节。

下面的程序说明了DecodeString()函数:

示例 1:

// Golang program to illustrate
// the base64.DecodeString() Function
package main
  
import (
    "encoding/base64"
    "fmt"
)
  
func main() {
  
    // taking a string
    givenString := "R2Vla3Nmb3JHZWVrcw=="
  
    // using the function
    decodedString, err := base64.StdEncoding.DecodeString(givenString)
    if err != nil {
        fmt.Println("Error Found:", err)
        return
    }
  
    fmt.Print("Decoded Bytes: ")
    fmt.Println(decodedString)
  
    fmt.Print("Decoded String: ")
    fmt.Println(string(decodedString))
}

输出:

Decoded Bytes: [71 101 101 107 115 102 111 114 71 101 101 107 115]
Decoded String: GeeksforGeeks

示例 2:

// Golang program to illustrate
// the base64.DecodeString() Function
package main
  
import (
    "encoding/base64"
    "fmt"
)
  
func main() {
  
    // taking a string
    givenString := "aHR0cHM6Ly93d3cuZ2Vla3Nmb3JnZWVrcy5vcmcv"
  
    // using the function
    decodedString, err := base64.URLEncoding.DecodeString(givenString)
    if err != nil {
        fmt.Println("Error Found:", err)
        return
    }
  
    fmt.Print("Decoded Bytes: ")
    fmt.Println(decodedString)
  
    fmt.Print("Decoded String: ")
    fmt.Println(string(decodedString))
}

输出: