php urlencode、urldecode、rawurlencode
•
编码转化
urlencode
urlencode()函数用于将中文进行转码操作,原理就是首先把中文字符转换为十六进制,然后在每个字符前面加标识符%,对字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。
urldecode
此函数用于解码给出的已编码字符串中的任何 %##以及中文等被编码的内容。 (加号(’+’)被解码成一个空格字符)。
urlencode和rawurlencode区别
urlencode:返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。
rawurlencode:返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。
比较二者的结果:
- 数字、大小写字母都不编码;
- 减号、点号、下划线 三个不编码;
- rawurlencode比urlencode多编码一个“加号”;