Go-标准库-encoding(三)

2023-04-22 08:57:07 浏览数 (1)

Base64 编码和解码

Base64 是一种将二进制数据编码成 ASCII 字符的编码方式,常用于在邮件等非纯文本的场景下传输数据。Go 标准库中的 encoding/base64 包提供了 Base64 编码和解码的功能。

编码

encoding/base64 包中的 EncodeToString() 函数可以将一个 []byte 类型的数据编码成 Base64 格式的字符串。下面是一个简单的 Base64 编码示例:

代码语言:javascript复制
package main

import (
	"encoding/base64"
	"fmt"
)

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

在上面的示例代码中,我们将字符串 hello world转换成了一个[]byte类型的数据,并使用base64.StdEncoding.EncodeToString()` 函数将其编码成 Base64 格式的字符串,最后打印出该字符串。

解码

encoding/base64 包中的 DecodeString() 函数可以将一个 Base64 格式的字符串解码成 []byte 类型的数据。下面是一个简单的 Base64 解码示例:

代码语言:javascript复制
package main

import (
	"encoding/base64"
	"fmt"
)

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

在上面的示例代码中,我们定义了一个 Base64 格式的字符串 str,使用 base64.StdEncoding.DecodeString() 函数将其解码成一个 []byte 类型的数据,并打印出该数据的字符串表示。

go

0 人点赞