Skip to main content

ASCII码表

认识几种编码

ASCII码

ASCII码就是一种编码,ASCII码一共128个字符。

URL编码

URL编码是浏览器发送数据给服务器时使用的编码,通常附加在url的参数部分,例如:

https://www.baidu.com/s?wd=%E4%B8%AD%E6%96%87
tip

之所以要进行url编码,是因为处于兼容性的考虑,很多服务器只能识别ASCII字符,如果url中包含了中文或者特殊的字符,为了避免服务器无法识别,就需要对url进行编码。

url编码规则

  • 如果是A~Z,a ~ z, 0 ~ 9 以及 - _ . * 保持不变;
  • 如果遇到其他字符,先转换为UTF-8编码,然后对每个字节以%XX表示;
info

url编码是编码算法,不是加密算法,其目的是把任意的文本数据编码为以%为前缀表示的文本,编码后的文本仅包含A~Z,a~z,0~9,-,_,.,*和%,便于浏览器和服务器处理。

Base64编码

Base64编码是对二进制数据进行编码,表示成文本格式。

Base64编码编码可以将任意长度的二进制数据变成纯文本,且只包含A~Z、a~z、0~9、+、/、=这些字符。它的原理是将3字节的二进制数据按6bit一组,用4个int整数表示,然后查表把int整数用索引对应到字符,得到编码后的字符串。

info

Base64编码的缺点是会增大体积,因为它用4个字节来表示之前的3个字节,使得原始的数据体积增大了1/3;同样Base64编码也是一种编码算法,不是加密算法

总结

  • URL编码和Base64编码都是编码算法,它们不是加密算法;
  • URL编码的目的是把任意文本数据编码为%前缀表示的文本,便于浏览器和服务器处理;
  • Base64编码的目的是把任意二进制数据编码为文本,但编码后数据量会增加1/3。