Js base64编码实现

本文介绍了Js中Base64编码的原理和应用场景,包括数据URL的使用,编码过程的详细步骤,并通过示例解释了如何处理非3的倍数字符数。最后,文章提供了一个简单的Js Base64编码器的实现。
摘要由CSDN通过智能技术生成

Js base64编码实现

base64在前端领域中是相当有用,比如前端里的dataURL就是base64编码实现的,使用它的好处就很多了,假如需要从服务器拿到一些logo,但是这些logo可能只有几十byte甚至更小,那这样这个logo单独占用一条http传输是很不划算的,我们可以把这个logo进行base64编码,也就是dataURL,直接嵌入页面中,在浏览器获取页面的时候,直接由浏览器渲染出来,但是要知道base64编码出来的体积要比原来大,如果要把一个比较大的突破编码成dataURL,那是相当庞大的,显然不适合直接嵌入页面中,这样会使页面加载过于缓慢。最后要说到base64的浏览器支持问题,除了ie8以下的版本不能很好的支持之外,其他的浏览器大都支持(未测试)。

纸上得来终觉浅,绝知此事要躬行

既然base64编码这么有用,不妨来了解一下base64的原理。
· base64的编码都是按字符串长度,以每3个8bit的字符为一组
· 首先把每组的字符都转换为ascii码
· 然后把ascii码转换为8位二进制数
· 现在得到了24位二进制数,把它分为4个6位二进制数,并在最高位补两个0
· 再分后的四个二进制数转换为十进制
· 然后对比base64编码表,来进行转换

Base64 编码表
Value Char Value Char Value Char
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值