Golang encoding.base64 包详解
encoding/base64
包提供了基于 RFC 4648 和 RFC 2045 的 Base64 编码的编码和解码操作。
导入 Base64 包
import "encoding/base64"
编码
使用 StdEncoding
或 NewEncoding
创建编码器对象,然后使用 EncodeToString
方法对字符串进行 Base64 编码。
encoded := base64.StdEncoding.EncodeToString([]byte("Hello, world!"))
fmt.Println(encoded) // 输出 SGVsbG8sIFdvcmxkIQ==
解码
使用 StdEncoding
或 NewEncoding
创建编码器对象,然后使用 DecodeString
方法对 Base64 编码的字符串进行解码。
decoded, err := base64.StdEncoding.DecodeString("SGVsbG8sIFdvcmxkIQ==")
if err != nil {
fmt.Println("Error decoding:", err)
return
}
fmt.Println(string(decoded)) // 输出 Hello, world!
URL 编码和解码
对于 URL 友好的 Base64 编码,可以使用 URLEncoding
。
encodedURL := base64.URLEncoding.EncodeToString([]byte("Hello, world!"))
fmt.Println(encodedURL) // 输出 SGVsbG8sIFdvcmxkIQ
decodedURL, err := base64.URLEncoding.DecodeString("SGVsbG8sIFdvcmxkIQ")
if err != nil {
fmt.Println("Error decoding URL:", err)
return
}
fmt.Println(string(decodedURL)) // 输出 Hello, world!
以上代码展示了如何使用 encoding/base64
包进行标准和 URL 友好的 Base64 编码和解码。
评论已关闭