string urlencode ( string $str ) — 编码 URL 字符串 此函数便于将字符串编码 并将 其用于 URL 的请求部分,同时它还便于将变量传递给下一页。 **作用:**对 url 加密 与 解密 ,其实就是对url中字符串进行编码
urlencode()函数原理 对字符串中除了 **- _ . **之外的所有非字母数字字符(中文)都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+) 例如我们使用浏览器打开百度,搜索 “中国”. 在地址栏看到:
http://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD&rsv_bp=0&ch=&tn=baidu&bar=&rsv_spt=3&ie=utf-8&rsv_sug3=16&rsv_sug=0&rsv_sug4=302&rsv_sug1=11&inputT=22928
即我们看到“中国”被浏览器自动转换为:%E4%B8%AD%E5%9B%BD。
string urldecode ( string $str ) — 解码已编码的 URL 字符串
返回解码后的字符串。
3.string rawurlencode ( string $str ) — 按照 RFC 3986 对 URL 进行编码 4.string rawurldecode ( string $str )— 对已编码的 URL 字符串进行解码
rlencode和rawurlencode的区别: urlencode将空格编码为加号“+”, rawurlencode将空格编码为加号“%20”。
url解码urldecode 和 rawurldecode 1、在解码时,可以使用相应的 urldecode() 和 rawurldecode(),相应地,rawurldecode() 不会把加号('+')解码为空格,而 urldecode() 可以。 2、urldecode() 和 rawurldecode() 解码出的字符串是 UTF-8格式的编码,如果URL中含有非UTF-8 编码的中文,则要把解码出的字符串进行转换。
URLEncode的方式一般有两种,一种是传统的基于GB2312的Encode,另一种是基于UTF-8的Encode。 如: 复制代码 代码如下:
$url = '中国';
echo urlencode($url );
//UTF-8: %E4%B8%AD%E5%9B%BD
//GB2312:%D6%D0%B9%FA