Base64编解码是什么?

Posted shihaiying

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Base64编解码是什么?相关的知识,希望对你有一定的参考价值。

㈠Base64是什么?

⑴Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。

⑵Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。

⑶标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。

 

㈡Base64编码的规则

①把3个字节变成4个字节。
②每76个字符加一个换行符。
③.最后的结束符也要处理。
 
㈢Base64索引表
技术图片

 

㈣Base64的相关知识

⑴在Base64中的可打印字符包括字母A-Za-z、数字0-9共有62个字符,加上+/共64个字符,实际上还有一个字符=来作为后缀。

比如:编码Man

技术图片

 

⑵当Base64对一个二进制数据进行编码时,每6个位元为一个单元,对应某个可打印字符。3个字节有24个位元,对应于4个Base64单元,即3个字节可由4个可打印字符来表示,所以最少要24个比特位。如果不足24位,就在后面补0,后面补的0就会用=来表示,所以=也只会在最后面。

 

⑶Base64加密原则:

6bit(原8bit)一个字节,不足的位数用0补齐,两个0用一个=表示。

 

⑷Base64编码原理:

  Base64编码的思想是:采用64个基本的ASCII码字符对数据进行重新编码。

 ①将需要编码的数据拆分成字节数组,以3个字节为一组,按顺序排列24位数据,再把这24位数据分成4组,即每组6位;

 ②再在每组的的最高位前补两个0凑足一个字节,这样就把一个3字节为一组的数据重新编码成了4个字节;

 ③当所要编码的数据的字节数不是3的整倍数,也就是说在分组时最后一组不够3个字节,这时在最后一组填充1到2个0字节,并在最后编码完成后在结尾添加1到2个=号。

 

⑸A和BC的编码过程

技术图片

 

⑹在线工具
图片转换Base64:http://imgbase64.duoshitong.com/
正则表达式图形化工具:https://regexper.com/


以上是关于Base64编解码是什么?的主要内容,如果未能解决你的问题,请参考以下文章

Lua Base64自定义编解码

Lua Base64自定义编解码

Lua Base64自定义编解码

VC++详解Base64编解码原理以及Base64编解码接口实现(附源码)

python3的base64编解码

Base64编解码 ---- 支持64编码