php专区

 首页 > php专区 > PHP应用 > php函数大全 > 浅析rawurlencode()和urlencode()函数区别 - php函数

浅析rawurlencode()和urlencode()函数区别 - php函数

分享到:
【字体:
导读:
          今天在阅读开源代码时发现了一个URL的编码函数:rawurlencode(),以前一直没有注意过,因为在平时的开发上主要使用的是 urlencode(),故专门研究了一番.其实这两个函数的区别很简单,它们两个都...

浅析rawurlencode()和urlencode()函数区别

今天在阅读开源代码时发现了一个URL的编码函数:rawurlencode(),以前一直没有注意过,因为在平时的开发上主要使用的是 urlencode(),故专门研究了一番.

其实这两个函数的区别很简单,它们两个都会把URL中的非英文字符进行转义,替换成"%"后跟两位十六进制数,不同的是:rawurlencode 遵守是94年国际标准备忘录RFC 1738,对空格的转义是'%20′;而urlencode的编码实现的是传统做法,和POST表单数据一样会把空格转义成"+"号.

举个例子:

如果URL地址源的形式是:http://www.phpfensi.com 编码区别

rawurlencode($url):http%3A%2F%2Fityizhan.com%2FPHP%20%E7%BC%96%E7%A0%81%E5%8C%BA%E5%88%AB%2B

urlencode($url):http%3A%2F%2Fityizhan.com%2FPHP+%E7%BC%96%E7%A0%81%E5%8C%BA%E5%88%AB%2B

从这个例子中可以很明显的看出二者的区别,如果我们想给编码的URL解码的话,可以使用这两个函 数:rawurldecode(),urldecode(),在实际的开发中为了避免URL格式不统一,还是推荐大家使用rawurlencode()来进行URL的编码.

同样的操作在Javascript也有一些区别,大家可以参考:javascript的URL编码与反编码,里面讲述了Javascript中escape(),encodeURI(),encodeURIComponent()的编码使用.

分享到:
php 自定义UTF8和cp1251函数 - php函数
php 自定义UTF8和cp1251函数 当你需要从utf8转换一些数据,cp1251(窗- 1251)或cp1251到utf8你必须使用系统功能的iconv。常见的主机服务商不允许使用此功能,下面是一个php自定义UTF8和cp1251的函数:  
php加密程序 - php函数
php加密程序  
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……