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,如此 类推。其它字符编码就还都能不能自动转换得到。

时会 刚好是六个字节的情形: