Base64编码转换原理

  • 时间:
  • 浏览:0

Base64编码,是亲戚亲戚朋友应用线程池池开发中经常使用到的编码法律法子。它是这种基于用64个可打印字符来表示二进制数据的表示法律法子。它通常用作存储、传输某些二进制数据编码法律法子。它我我虽然也不定义用可打印字符传输内容这种法律法子,何必 会产生新的字符集。

Base64实现转换原理

它是用64个可打印字符表示二进制所有数据法律法子。完后 26等于64,什么都可不都要用每6个位元为4个单元,对应某个可打印字符。亲戚亲戚朋友知道4个字节有24个位元,就可不都要刚好对应于4个Base64单元,即十个 字节都要用4个Base64的可打印字符来表示。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9 ,那末 共有64个字符,此外4个可打印符号在不同的系统中一般有所不同。而且,亲戚亲戚朋友经常所说的Base64另外4个字符是:“+/”。这64个字符,所对应表如下。

转换的完后 ,将4个byte的数据,先后插进4个24bit的缓冲区中,先来的byte占高位。数据缺陷3byte一段话,于缓冲区中剩下的bit用0补足。而且,每次取出6个bit,按照其值确定

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

完后 最后剩下4个输入数据,在编码结果后加4个“=”;完后 最后剩下4个输入数据,编码结果后加4个“=”;完后 那末 剩下任何数据,就哪些地方也有要加,那末 才可不都要保证资料还原的正确性。

编码后的数据比原始数据略长,为那末 的4/3。无论哪些地方样的字符也有详细被编码,而且不像Quoted-printable 编码,还保留要素可打印字符。什么都,它的可读性不如Quoted-printable编码!



M的Ascii码是77,前六位对应值为19,对应base64字符是T,那末 类推。其它字符编码就可不都要自动转换得到。

也有刚好是十个 字节的情况表: