urlencode()与urldecode()函数

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  

转载于:https://my.oschina.net/u/2299514/blog/808881

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值