base64编解码

base64编解码

基本知识
  • base64编码不是加解密,一种编辑数据的格式,方便传输。

  • Base64: 64个字符的标准表

0~9

a - z

A -Z

+ /

一共64个字符,任何输入的数据,都可以转换为这64个字符,进行传输

  • base64处理之后,size变大,原因是base64算法按照6bit进行切割

base64编码表
在这里插入图片描述

  1. 3个字节的情况
    在这里插入图片描述
  2. 不足3的倍数时,会用=进行填充
    在这里插入图片描述
为什么需要base64
  1. 两个系统可能有不同的字符,把特殊的字符编译文本,传输过去,(编码),对端可以进行解码显示
  2. 把一些特殊字符做一层处理,正常传输。比如url中的/ ? &等
go语言下base64编解码

普通编码使用:标准方式StdEncoding

涉及到url时:使用URLEncoding,字母表+-/_

func main() {
	src:=[]byte("hello world hello go")
	//标准编码
	encodeInfo:=base64.StdEncoding.EncodeToString(src)
	fmt.Printf("encodeIofo:%v\n",encodeInfo)
    //标准解码
	src,err:=base64.StdEncoding.DecodeString(encodeInfo)
	if err!=nil{
		fmt.Println("decode err",err)
		return
	}
	fmt.Printf("%s\n",src)
    
	//URL编码
	encodeInfo=base64.URLEncoding.EncodeToString(src)
	fmt.Printf("encodeIofo:%v\n",encodeInfo)
    //URL解码
	src,err=base64.URLEncoding.DecodeString(encodeInfo)
	if err!=nil{
		fmt.Println("decode err",err)
		return
	}
	fmt.Printf("%s\n",src)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值