返回介绍

base64

发布于 2023-06-25 22:01:52 字数 2035 浏览 0 评论 0 收藏 0

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息。Go 的 encoding/base64 提供了对base64的编解码操作。

package main

import (
    "encoding/base64"
    "fmt"
    "log"
)

func main() {

    str := "www.5lmh.com"
    fmt.Printf("string : %v\n", str)

    input := []byte(str)
    fmt.Printf("[]byte : %v\n", input)

    // 演示base64编码
    encodeString := base64.StdEncoding.EncodeToString(input)
    fmt.Printf("encode base64 : %v\n", encodeString)

    // 对上面的编码结果进行base64解码
    decodeBytes, err := base64.StdEncoding.DecodeString(encodeString)
    if err != nil {
        log.Fatalln(err)
    }
    fmt.Printf("decode base64 : %v\n", string(decodeBytes))

    fmt.Println()

    // 如果要用在url中,需要使用URLEncoding
    urlencode := base64.URLEncoding.EncodeToString([]byte(input))
    fmt.Printf("urlencode : %v\n", urlencode)
    //URLEncoding
    urldecode, err := base64.URLEncoding.DecodeString(urlencode)
    if err != nil {
        log.Fatalln(err)
    }
    fmt.Printf("urldecode : %v\n", string(urldecode))
}

输出结果:

    string : www.5lmh.com
    []byte : [119 119 119 46 53 108 109 104 46 99 111 109]
    encode base64 : d3d3LjVsbWguY29t
    decode base64 : www.5lmh.com

    urlencode : d3d3LjVsbWguY29t
    urldecode : www.5lmh.com

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文