Base64编码转换原理

  • 时间:
  • 浏览:0
  • 来源:大发uu快3_uu快3官方安卓_大发uu快3官方安卓

Base64编码,是我们我们我们我们我们我们 儿守护进程开发中老会 使用到的编码法律法子。它是有些基于用6一另一一八个 可打印字符来表示二进制数据的表示法律法子。它通常用作存储、传输有些二进制数据编码法律法子。它虽然什么都定义用可打印字符传输内容有些法律法子,未必会产生新的字符集。

Base64实现转换原理

它是用6一另一一八个 可打印字符表示二进制所有数据法律法子。不可能 26等于64,什么都能够用每6个位元为一另一一八个 单元,对应某个可打印字符。我们我们我们我们我们我们 儿知道一另一一八个 字节有2一另一一八个 位元,就能够刚好对应于一另一一八个 Base64单元,即八个字节还要用一另一一八个 Base64的可打印字符来表示。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9 ,从前共有6一另一一八个 字符,此外一另一一八个 可打印符号在不同的系统中一般有所不同。有些,我们我们我们我们我们我们 儿老会 所说的Base64另外一另一一八个 字符是:“+/”。这6一另一一八个 字符,所对应表如下。

转换的从前,将一另一一八个 byte的数据,先后放上去一另一一八个 24bit的缓冲区中,先来的byte占高位。数据严重不足3byte得话,于缓冲区中剩下的bit用0补足。有些,每次取出6个bit,按照其值确定

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
中的字符作为编码后的输出。不断进行,直到完正输入数据转换完成。

不可能 最后剩下一另一一八个 输入数据,在编码结果后加一另一一八个 “=”;不可能 最后剩下一另一一八个 输入数据,编码结果后加一另一一八个 “=”;不可能 这麼剩下任何数据,就哪此前会要加,从前能够能保证资料还原的正确性。

编码后的数据比原始数据略长,为从前的4/3。无论哪此样的字符前会完正被编码,有些不像Quoted-printable 编码,还保留主次可打印字符。什么都,它的可读性不如Quoted-printable编码!



M的Ascii码是77,前六位对应值为19,对应base64字符是T,这麼类推。其它字符编码就能够自动转换得到。

前会刚好是八个字节的具体情况: