📜  Golang 中的 base64 包(1)

📅  最后修改于: 2023-12-03 15:31:01.221000             🧑  作者: Mango

Golang 中的 base64 包

简介

在 Golang 中,base64 包提供了对数据进行 base64 编码和解码的函数。base64 是一种将二进制数据转换为 ASCII 字符的编码方式,通常用于在网络上传输二进制数据或存储数据。

函数

下面是 base64 包中常用的函数:

EncodeToString

EncodeToString 函数将二进制数据编码为 base64 字符串。

func EncodeToString(src []byte) string

示例代码:

package main

import (
    "encoding/base64"
    "fmt"
)

func main() {
    data := []byte("hello world")
    str := base64.StdEncoding.EncodeToString(data)
    fmt.Println(str)
}

输出:

aGVsbG8gd29ybGQ=
DecodeString

DecodeString 函数将 base64 字符串解码为二进制数据。

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

示例代码:

package main

import (
    "encoding/base64"
    "fmt"
)

func main() {
    str := "aGVsbG8gd29ybGQ="
    data, err := base64.StdEncoding.DecodeString(str)
    if err != nil {
        panic(err)
    }
    fmt.Println(string(data))
}

输出:

hello world
StdEncoding

StdEncoding 是标准的 base64 编码。

var StdEncoding *Encoding = NewEncoding(encodeStd)

示例代码:

package main

import (
    "encoding/base64"
    "fmt"
)

func main() {
    data := []byte("hello world")
    str := base64.StdEncoding.EncodeToString(data)
    fmt.Println(str)
}

输出:

aGVsbG8gd29ybGQ=
URLEncoding

URLEncoding 是 URL 安全的 base64 编码,将 +/ 分别替换为 -_

var URLEncoding *Encoding = NewEncoding(encodeURL)

示例代码:

package main

import (
    "encoding/base64"
    "fmt"
)

func main() {
    data := []byte("hello world")
    str := base64.URLEncoding.EncodeToString(data)
    fmt.Println(str)
}

输出:

aGVsbG8gd29ybGQ=
结语

以上就是 Golang 中的 base64 包介绍,希望对你有所帮助。