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。