Golang encoding.base32 包详解
encoding/base32
包提供了 RFC 4648 中定义的 Base32 编码的实现。Base32 是一种常用于将二进制数据编码为可读文本字符串的编码方式,特别适合于电子邮件地址、网页书签等文本数据的编码。
以下是使用 encoding/base32
包进行 Base32 编码和解码的简单示例:
package main
import (
"encoding/base32"
"fmt"
)
func main() {
// 编码
input := "Hello, Base32!"
encoder := base32.NewEncoder(base32.StdEncoding, nil)
encoded := encoder.EncodeAll([]byte(input))
fmt.Printf("Encoded: %s\n", string(encoded))
// 解码
decoder := base32.NewDecoder(base32.StdEncoding, nil)
decoded, err := decoder.DecodeString(string(encoded))
if err != nil {
panic(err)
}
fmt.Printf("Decoded: %s\n", string(decoded))
}
在这个例子中,我们首先创建了一个 Base32 编码器和解码器,然后使用 EncodeAll
方法对输入字符串进行编码,使用 DecodeString
方法对编码后的字符串进行解码。输出将是原始输入和解码后的字符串。
注意:Base32 编码后的输出将包含大写字母和数字,解码时输入必须是大写或小写字母和数字。
评论已关闭