美文网首页
base64编码原理 2019-03-08

base64编码原理 2019-03-08

作者: 游走在城市的鱼 | 来源:发表于2019-03-07 15:37 被阅读0次

    1.base64编码对照表标准如下:


    base64编码表

    2.base64 编码原理:

    ps:  1字节byte = 8bit位  -> 一字节可存储一个汉字,两个英文字母。

    base64编码一共64个字符,可以用6个bit位(2^6 = 64)表示出来,一字节由8个bit位,多余两位用0填充。(注:一个base64字符仍有8个bit位,有效部分为右六位)。

    Base64编码时,是将3个字节转变为4个字节,最终得到的字节数必然是4的倍数。

    接下来我们通过实例来分析:(将字符csf转换成base64编码

    ①字符转ASCII码(ASCII码对照表见附图)

    c=>99, s=>115, f=>102

    附图 ASCII编码对照表

    ②ASCII码转成二进制

    99=>0110 0011,115=>0111 0011,102=>0110 0110

    ③三个字节(3x8=24bit位)转成四个字节(4x6=24bit位),并在每个6bit位前补两个0,重新变成8bit位的字节

    转换结果:011000   110111   001101   100110

    补零:---> 00011000    00110111    00001101    00100110

    ④将补零后的结果转换成十进制

    00011000 => 2^4+2^3 = 24

    00110111 => 55

    00001101 =>13

    00100110 =>38

    ⑤对照上方的base64编码表

    得到结果为:Y3Nm

    ps:值得注意的是,base64编码过程最后可能碰到不足三位的情况,这种情况在转化成6位时用0补位,转换后若六位全为‘空’,则转换结果用=号代替。如下图:

    M编码结果为TQ==

    同理 ,字符L(ASCII码为76)转换结果为TA==。


    以上纯属个人理解。

    相关文章

      网友评论

          本文标题:base64编码原理 2019-03-08

          本文链接:https://www.haomeiwen.com/subject/yqlrpqtx.html