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!
}

注意事项

  • EncodeToStringDecodeString 函数分别用于编码和解码字符串。
  • StdEncoding 是标准的 Base 编码,而 URLEncoding 是 URL 安全的 Base 编码,它使用 - 代替 +_ 代替 /
  • 在解码时,如果输入的字符串不是有效的 Base 编码,DecodeString 函数会返回错误。

这些是 Go 语言中使用 Base 编码和解码的基本方法。如果你有更具体的需求或遇到问题,可以提供更详细的信息。