base64编码学习笔记(一)

来源:互联网 发布:edge网络是什么 编辑:程序博客网 时间:2024/05/19 19:35

base64编码学习笔记


一、Base64编码简介

        Base64是一种基于64个可打印字符来表示数据的表示方法。        在Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。
        在MIME格式的电子邮件中,base64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本。        使用时,在传输编码方式中指定base64。使用的字符包括大小写字母各26个,加上10个数字,和加号“+”,斜杠“/”,一共64个字符,等号“=”用来作为后缀用途。
        完整的base64定义可见RFC 1421和RFC 2045。编码后的数据比原始数据略长,为原来的4/3。在电子邮件中,根据RFC 822规定,每76个字符,还需要加上一个回车换行。可以估算编码后数据长度大约为原长的135.1%。


二、Base64编码举例说明

        Base64算法将三个字符编码为4个字符,如果要编码的字节数不能被3整除,最后会多出1个或2个字节,那么可以使用下面的方法进行处理: 先使用0字节值在被编码的数据末尾补足,使其能够被3整除,然后再进行base64的编码。 在编码后的base64文本后加上一个或两个'='号,代表补足的字节数。也就是说,当最后剩余一个八位字节(一个byte)时,最后一个6位的base64字节块有四位是0值,最后附加上两个等号; 如果最后剩余两个八位字节(2个byte)时,最后一个6位的base字节块有两位是0值,最后附加一个等号。

        下图是Base64索引表:

       

        示例一:

       

        示例二:末尾分别补齐一个字节、两个字节

       

三、参考文章

        https://en.wikipedia.org/wiki/Base64

0 0