美文网首页
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

相关文章

  • Golang标准库——encoding(1)

    encoding ascii85 asn1 base32 base64 encoding encoding包定义了...

  • go使用base64编码

    Go中的系统库中提供了encoding/base64编码/解码的内置支持. encoding/base64提供了四...

  • EFUtils示例(4)-编码为base64字符串和解码为NSD

    编码为 base64字符串和解码为 NSData Base64 Encoding and Decoding 输出结...

  • encoding/base64

    base64实现了RFC 4648规定的base64编码 RFC 4648标准化了两种字符集。默认字符集用于MIM...

  • Node.js中的Base64编码和解码

    本文翻译自Base64 Encoding and Decoding in Node.js[https://atta...

  • Base64 编解码

    之前也遇到过base64的encoding,当时并不清楚为什么需要base64编码。今天花时间了解了一下。这个文章...

  • golang中encoding/base64包

    go标准库中的base32包与base64包的提供的方法以及使用几乎一至,不同的地方就是就是底层实现,一个是进行b...

  • URI Encoding

    What is URL Encoding URL Encoding 也被成为 percent encoding,U...

  • Encoding

    1. 字符发展历史 1.1 字节 计算机内部,所有信息最终都是一个二进制值 每一个二进制位(bit)有0和1两种状...

  • Encoding

    到目前为止,还没有讨论字符串是如何存储的。 字符串由Unicode代码点集合组成。这些代码点的范围从0到11141...

网友评论

      本文标题:encoding/base64

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