shoutingwei / frontend-learning

0 stars 0 forks source link

base64编码原理? #35

Closed shoutingwei closed 6 years ago

shoutingwei commented 6 years ago

base64是一种基于64个可打印自负来表示二进制数据的方法。一般用于在http协议下传输二进制数据,但http是文本协议,所以传输时只能将二进制转换为字符数据。直接转换是不行的因为,网络传输只能是可打印字符。(ASC2码中有一部属于控制字符,95个是可打印字符,不在此范围内不可以传输) image

一个ASC2码需要8个位来表示,而6个表示的字符如何来表示8个位呢?因为46=24 同时38=24,所以只要将位数凑足3的倍数就可以。

比如字符S=》数字83=》 二进制位 01010011 每6位分一个组,则为 010100,110000,000000,000000 由于每组只有6位所以补到8位,则为00010100,00110000,00000000,00000000 查表可得U w = =