您现在的位置是:主页 > news > 上海做高端网站/网络营销专业就业方向
上海做高端网站/网络营销专业就业方向
admin2025/5/15 19:27:30【news】
简介上海做高端网站,网络营销专业就业方向,石家庄哪里做网站比较好,svg图片做网站背景Base64 Base64的简介 Base64编码要求吧3个8位字节(3*824)转化为4个6位的字节(4*624),之后在6位的前面补两个0,形成8位一个字节的形式。如果剩下的字符不足3个字节,则用0填充,输出字…
Base64
Base64的简介
Base64编码要求吧3个8位字节(3*8=24)
转化为4个6位的字节(4*6=24)
,之后在6位的前面补两个0,形成8位一个字节的形式。如果剩下的字符不足3个字节,则用0填充,输出字符使用=
,因此编码后输出的文本末尾可能会出现1个或2个=
。
Base64就是包括小写字母a-z
,大写字母A-Z
,数字0-9
,符号+
和/
组成的64个字符的字符集,另外包括填充字符=
。任何符号都可以转换成这个字符集中的字符,这个转化过程就叫做Base64编码。
为了保证输出的编码位可读字符,Base64指定了一个编码表,以便进行统一转换,编码表的大小为2^6=64,即Base64名称的由来。
索引 | 对应字符 | 索引 | 对应字符 | 索引 | 对应字符 | 索引 | 对应字符 |
---|---|---|---|---|---|---|---|
0 | A | 17 | R | 34 | i | 51 | z |
1 | B | 18 | S | 35 | j | 52 | 0 |
2 | C | 19 | T | 36 | k | 53 | 1 |
3 | D | 20 | U | 37 | l | 54 | 2 |
4 | E | 21 | V | 38 | m | 55 | 3 |
5 | F | 22 | W | 39 | n | 56 | 4 |
6 | G | 23 | X | 40 | o | 57 | 5 |
7 | H | 24 | Y | 41 | p | 58 | 6 |
8 | I | 25 | Z | 42 | q | 59 | 7 |
9 | J | 26 | a | 43 | r | 60 | 8 |
10 | K | 27 | b | 44 | s | 61 | 9 |
11 | L | 28 | c | 45 | t | 62 | + |
12 | M | 29 | d | 46 | u | 63 | / |
13 | N | 30 | e | 47 | v | ||
14 | O | 31 | f | 48 | w | ||
15 | P | 32 | g | 49 | x | ||
16 | Q | 33 | h | 50 | y |
示例1:对字符串 Son 进行 Base64编码
ASCII字符 | S(大写) | o | n | |
---|---|---|---|---|
十进制 | 83 | 111 | 110 | |
二进制 | 01010011 | 01101111 | 01101110 | |
每6个bit为一组 | 010100 | 110110 | 111101 | 101110 |
高位补0 | 00010100 | 00110110 | 00111101 | 00101110 |
对应的Base64索引 | 20 | 54 | 61 | 46 |
对应的Base64字符 | U | 2 | 9 | u |
Son通过Base64编码转换成了U29u,3个ASCII字符刚好转换成对应的Base64字符。
示例2:对字符串 S 进行 Base64编码
ASCII字符 | S(大写) | |||
---|---|---|---|---|
十进制 | 83 | |||
二进制 | 01010011 | |||
每6个bit为一组 | 010100 | 110000 | 000000 | 000000 |
高位补0 | 00010100 | 00110000 | 00000000 | 00000000 |
对应的Base64索引 | 20 | 48 | ||
对应的Base64字符 | U | w | = | = |
字符串S对应1个字节,一共8位,按6位为一组分为4组,每组不足6位的补0,然后在每组的高位补0,找到Base64编码进行转换。
Base64是加密算法吗
Base64不是加密算法,只是一种编码方式,可以用Base64来简单的“加密”来保护某些数据
Base64的优缺点
优点:
- 将二进制数据(如图片)转为可打印字符,在HTTP协议下传输
- 对数据进行简单加密,肉眼安全
- 如果是在html或css处理图片,可以减少http请求
缺点:
- 内容编码后体积变大,至少1/3
- 编码和解码需要额外工作量
Base64方案
-
btoa
和atob
方法:js中有两个函数被分别用来处理编码和解码Base64字符串- btoa():该函数基于二进制数据字符串创建一个Base64编码的字符串
- atob():该函数用于解码使用Base64编码的字符串
-
第三方库
-
js-base64
-
base64-js
-
Data URI Scheme
Data URI scheme的目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入,减少请求资源的连接数,缺点是不会被浏览器缓存起来。
Data URI scheme支持的Base64编码的类型比如
-
data:image/png;base64,base64编码的png图片数据
-
data:image/gif;base64,base64编码的gif图片数据
-
data:text/javascript;base64,base64编码的javascript代码
-
…等等
比如:渲染Base64图片
<img :src="data:image/png;base64,IVBORsssssfjsfsfs==" alt=""></img>