关于base64编码的原理及实现方法分享
发布时间:2020-03-15 13:49:36 所属栏目:安全 来源:站长网
导读:我们的图片大部分都是可以转换成base64编码的data:image。 这个在将canvas保存为img的时候尤其有用
一、Base64编码原理 步骤1:将所有字符转化为ASCII码; 步骤2:将ASCII码转化为8位二进制; 步骤3:将二进制3个归成一组(不足3个在后边补0)共24位,再拆分成4组,每组6位; 步骤4:统一在6位二进制前补两个0凑足8位; 步骤5:将补0后的二进制转为十进制; 步骤6:从Base64编码表获取十进制对应的Base64编码; 说明:不足3个补0的最终Base64编码为=,而不是A! 二、Base64编码示例 示例一:zyq对应Base64编码为enlx 示例二:mzwu对应Base64编码为bXp3dQ== 虽然除ie外,大部分现代浏览器都已经支持原生的基于base64的encode和decode,例如btoa和atob。(将canvas画布保存成img并强制改变mimetype进行下载,会在下一篇记录) 但是处于好奇心,还是驱使我去了解下base64编码的原理。以便也在不支持原生base64编码的ie下可以得以实现。 【Base64】 (注:1. 要求被编码字符是8bit的,所以须在ASCII编码范围内,u0000-u00ff,中文就不行。 Value Char 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 6 G 22 W 38 m 54 2 7 H 23 X 39 n 55 3 8 I 24 Y 40 o 56 4 9 J 25 Z 41 p 57 5 10 K 26 a 42 q 58 6 11 L 27 b 43 r 59 7 12 M 28 c 44 s 60 8 13 N 29 d 45 t 61 9 14 O 30 e 46 u 62 + 15 P 31 f 47 v 63 / 比如举下面2个例子: 复制代码 代码如下: (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |