本篇内容介绍了“base64原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
为什么会有Base64编码呢?因为有些网络传送渠道并不支持所有的字节,例如传统的邮件只支持可见字符的传送,像ASCII码的控制字符就不能通过邮件传送。这样用途就受到了很大的限制,比如图片二进制流的每个字节不可能全部是可见字符,所以就传送不了。最好的方法就是在不改变传统协议的情况下,做一种扩展方案来支持二进制文件的传送。把不可打印的字符也能用可打印字符来表示,问题就解决了。Base64编码应运而生,Base64就是一种基于64个可打印字符来表示二进制数据的表示方法。
Base64的索引表
看一下Base64的索引表,字符选用了"A-Z、a-z、0-9、+、/"64个可打印字符。数值代表字符的索引,这个是标准Base64协议规定的,不能更改。
Base64的原理
Base64的码表只有64个字符,如果要表达64个字符的话,使用6的bit即可完全表示(2的6次方为64)。
因为Base64的编码只有6个bit即可表示,而正常的字符是使用8个bit表示,8和6的最小公倍数是24,所以4个Base64字符可以表示3个标准的ascll字符;
如果是字符串转换为Base64码,会先把对应的字符串转换为ascll码表对应的数字,然后再把数字转换为2进制,比如a的ascll码味97,97的二进制是:01100001,把8个二进制提取成6个,剩下的2个二进制和后面的二进制继续拼接,最后再把6个二进制码转换为Base64对于的编码,以下为具体的解析过程案例:
把abc这三个字符转换为Base64的过程
运行下面代码
复制代码
字符串abc
ASCII979899
8bit011000010110001001100011
6bit011000010110001001100011
十进制2422935
对应编码YWJj
复制代码
把man这三个字符转换为Base64的过程
“base64原理是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。