误导性文章太多了,干脆自己写一个。没有历史沿革纯内容
url编码:对于超出ascii范围的字符,使用utf-8对其进行编码(utf-8兼容ascii),然后对每个结果进行百分号编码;除此之外,还会将空格替换为加号
百分号编码:十六进制下的一个字节,如0xE4,将E4看成字符串再进行ascii编码,即会从一个字节变成两个字节,然后再添加百分号%,此时变成三个字节。
所以,一个汉字如果经由utf-8编码结果是三个字节,url编码这个汉字结果是九个字节。当然,有些url编码实现中不一定用utf-8,有些url编码实现中,对于utf-8得到的可以用ascii解码的字节,不用再进行百分号编码。但都无所谓