but ⅰt's 什么ⅰn wⅰnter

在MIME格式的电子邮件中base64可以用来將binary的字节序列数据编码成ASCII字符序列构成的文本。使用时在传输编码方式中指定base64。使用的字符包括大小写字母各26个加上10个数字,和加号“+”斜杠“/”,一共64个字符等号“=”用来作为后缀用途。

完整的base64定义可见RFC 1421和RFC 2045编码后的数据比原始数据略长,为原来的43在电子邮件Φ,根据RFC 822规定每76个字符,还需要加上一个回车换行可以估算编码后数据长度大约为原长的135.1%。

转换的时候将三个byte的数据,先后放入一個24bit的缓冲区中先来的byte占高位。数据不足3byte的话于缓冲器中剩下的bit用0补足。然后每次取出6(因为26=64)个bit,按照其值选择ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/中的字符作为编码後的输出不断进行,直到全部输入数据转换完成

当原数据长度不是3的整数倍时, 如果最后剩下一个输入数据,在编码结果后加2个“=”;洳果最后剩下两个输入数据编码结果后加1个“=”;如果没有剩下任何数据,就什么都不要加这样才可以保证数据还原的正确性。

一个字符串, 其字符分别表示要编码为 ASCII 的二进制数据的单个字节

你可以使用此方法对可能导致通信问题的数据进行编碼,传输然后使用  方法再次解码数据。例如可以编码控制字符,包括 ASCII 值为 0 到 31 的字符

一种选择是转义任何扩展字符,以便实际編码的字符串是原始字符的 ASCII 表示形式考虑这个例子,代码来自 :

更好、更可靠、性能更优异的解决方案是使用类型化数组进行转换

base-64加密的数据字符串进行解码。从二进制数据中创建 base-64 编码的 ASCII 字符串

本人所上传文档均来自网络版權归原作者所有。如有侵犯您的权益请及时通知我,本人将在第一时间进行处理

我要回帖

更多关于 starter?ai?n 的文章

 

随机推荐