Base64编码转换原理

  • 时间:
  • 浏览:0

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,那末类推。其它字符编码就都可以自动转换得到。

有的是刚好是十个 字节的状况: