首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >encoding/base64

encoding/base64

作者头像
酷走天涯
发布2019-06-11 16:27:53
5620
发布2019-06-11 16:27:53
举报

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.12.25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 对字符进行编解码
  • 对文件名或者url路径进行编码
  • 获取n个字节编码后的长度以及编码字符解码后的长度
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档