美文网首页
encoding/base64

encoding/base64

作者: 酷走天涯 | 来源:发表于2018-12-25 09:25 被阅读5次

    base64实现了RFC 4648规定的base64编码

    RFC 4648标准化了两种字符集。默认字符集用于MIME(RFC 2045)和PEM(RFC 1421)编码,RFC 4648定义的另一base64编码字符集,用于URL和文件名用'-'和'_'替换了'+'和'/'

    对字符进行编解码

    var StdEncoding = NewEncoding(encodeStd)

    const encodeStd = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

    package main
    
    import (
                "fmt"
        "encoding/base64"
    )
    
    func main() {
      str:= []byte("我爱你蓝天")
      // 编码
      base64Str:= base64.StdEncoding.EncodeToString(str)
      fmt.Println("base64编码字符串:" ,base64Str)
    
      //解码
      data,error := base64.StdEncoding.DecodeString(base64Str)
      if error != nil {
          fmt.Println(error)
      }
      fmt.Println("解码base64:",string(data))
    }
    
    image.png

    对文件名或者url路径进行编码

    const encodeURL = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"

    package main
    
    import (
                "fmt"
        "encoding/base64"
    )
    
    func main() {
      str:= []byte("http://baidu.com")
      // 编码
      base64Str:= base64.URLEncoding.EncodeToString(str)
      fmt.Println("base64编码字符串:" ,base64Str)
    
      //解码
      data,error := base64.URLEncoding.DecodeString(base64Str)
      if error != nil {
          fmt.Println(error)
      }
      fmt.Println("解码base64:",string(data))
    }
    
    image.png

    获取n个字节编码后的长度以及编码字符解码后的长度

      fmt.Println(base64.StdEncoding.EncodedLen(64))
      fmt.Println(base64.StdEncoding.DecodedLen(88))
    
    image.png

    相关文章

      网友评论

          本文标题:encoding/base64

          本文链接:https://www.haomeiwen.com/subject/aajloftx.html