加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

一篇文章彻底搞懂Base64编码原理

发布时间:2019-07-23 14:07:13 所属栏目:建站 来源:底层软件架构
导读:开始 在互联网中的每一刻,你也许都在享受着Base64带来的便捷,但对付Base64的基本道理又相识几多?本日这篇文章教育各人相识一下Base64的底层实现。 Base64是什么东东呢? Base64编码是收集上常见的用于传输8bit字节数据的一种编码方法之一,以是可以依据概

 开始

在互联网中的每一刻,你也许都在享受着Base64带来的便捷,但对付Base64的基本道理又相识几多?本日这篇文章教育各人相识一下Base64的底层实现。

一篇文章彻底搞懂Base64编码道理

Base64是什么东东呢?

Base64编码是收集上常见的用于传输8bit字节数据的一种编码方法之一,以是可以依据归纳综合:它是一种编码方法,记着它不是加密的方法,它没有秘钥的观念,任何人拿到数据都能理会出来。它只是一种编码方法!!

到底哪些处所会行使?

我们在参数传输的进程中必定碰着过这样一种环境:行使全英文的没题目,但一旦涉及到中文就会呈现乱码环境。与此相同,收集上传输的字符并不满是可打印的字符,好比二进制文件、图片等。Base64的呈现就是为了办理此题目,它是基于64个可打印的字符来暗示二进制的数据的一种要领。

电子邮件刚问世的时辰,只能传输英文,但其后跟着用户的增进,中文、日文等笔墨的用户也有需求,但这些字符并不能被处事器或网关有用处理赏罚,因此Base64就登场了。随之,Base64在URL、Cookie、网页传输少量二进制文件中也有响应的行使。

实现道理

它的前因后果我们是知道了,但它的道理我们还不知道,那下面我们就来彻底搞懂它。

Base64编码将一个8位子节序列拆散为6位的片断,并且这每个6位的片断城市被分派一个字符,那这个是个什么字符呢?着实它是base64字母表中的64个字符之一,以是顾名思义base64了。而这64个字符然则有考究的,是选择了最常用并且兼容性最好的64个字符。以是可以算出base64编码后的字符串约莫比编码前大了33%,由于用8位来暗示6位。下面的具体的例子,各人来感觉下。

Base64尚有几个法则如下:

  • ①.3字符变为4字符。
  • ②每76个字符增进一个换行符。
  • ③.竣事符也要编码。

例子

插手编码前的数据是“Ow!”,那编码之后是4个字符的base64编码值“T3ch”。下面是详细的转换进程。

1, 字符串"Ow!"被拆分成3个8位的字节(0x4F、0x77、0x21)。看下图:

一篇文章彻底搞懂base64编码道理

2, 这3字节组成了一个24位的二进制 01001111 ,01110111 ,00100001。看下图:

一篇文章彻底搞懂base64编码道理

3, 这些为被分别为一些6位的序列010011、110111、011100、1000001。看下图:

一篇文章彻底搞懂base64编码道理

4, 每6位值都暗示了从0~63数值,在base64字母表中的都有对应的字符。以是查表转换得出是4字符的字符串“T3ch”。如下图所示转换表。

一篇文章彻底搞懂base64编码道理

整个进程就over了,就是这么简朴,各人领略了吗?

总结

大大都编码都是由字符串转化成二进制的进程,而Base64的编码则是从二进制转换为字符串。与通例恰好相反,

Base64编码首要用在传输、存储、暗示二进制规模,不能算得上加密,只是无法直接看到明文。也可以通过打乱Base64编码来举办加密。

中文有多种编码(好比:utf-8、gb2312、gbk等),差异编码对应Base64编码功效都纷歧样。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读