Go 语言中处理 Base 编码和解码可以通过 encoding/base 标准库来实现。以下是一些基本的用法示例:
编码
编码字符串为 Base:
import (
"encoding/base"
"fmt"
)
func main() {
data := "Hello, World!"
encoded := base.StdEncoding.EncodeToString([]byte(data))
fmt.Println(encoded) // 输出: SGVsbG8sIFdvcmxkIQ==
}
编码数据为 Base URL 兼容格式:
import (
"encoding/base"
"fmt"
)
func main() {
data := "Hello, World!"
encoded := base.URLEncoding.EncodeToString([]byte(data))
fmt.Println(encoded) // 输出: SGVsbG8sIFdvcmxkIQ==
}
解码
从 Base 解码字符串:
import (
"encoding/base"
"fmt"
)
func main() {
data := "SGVsbG8sIFdvcmxkIQ=="
decoded, err := base.StdEncoding.DecodeString(data)
if err != nil {
fmt.Println("解码错误:", err)
return
}
fmt.Println(string(decoded)) // 输出: Hello, World!
}
从 Base URL 兼容格式解码:
import (
"encoding/base"
"fmt"
)
func main() {
data := "SGVsbG8sIFdvcmxkIQ=="
decoded, err := base.URLEncoding.DecodeString(data)
if err != nil {
fmt.Println("解码错误:", err)
return
}
fmt.Println(string(decoded)) // 输出: Hello, World!
}
注意事项
EncodeToString和DecodeString函数分别用于编码和解码字符串。StdEncoding是标准的 Base 编码,而URLEncoding是 URL 安全的 Base 编码,它使用-代替+和_代替/。- 在解码时,如果输入的字符串不是有效的 Base 编码,
DecodeString函数会返回错误。
这些是 Go 语言中使用 Base 编码和解码的基本方法。如果你有更具体的需求或遇到问题,可以提供更详细的信息。