php urlencode、urldecode、rawurlencode

urlencode

urlencode()函数用于将中文进行转码操作,原理就是首先把中文字符转换为十六进制,然后在每个字符前面加标识符%,对字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。

urldecode

此函数用于解码给出的已编码字符串中的任何 %##以及中文等被编码的内容。 (加号(’+’)被解码成一个空格字符)。

urlencode和rawurlencode区别

urlencode:返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)

rawurlencode:返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。

比较二者的结果:

  1. 数字、大小写字母都不编码;
  2. 减号、点号、下划线  三个不编码;
  3. rawurlencode比urlencode多编码一个“加号”;