多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > php教程 > php urlencode和rawurlencode的區(qū)別介紹

php urlencode和rawurlencode的區(qū)別介紹

來源:程序員人生   發(fā)布時間:2014-02-25 04:40:45 閱讀次數(shù):3510次

在php中rawurlencode與rawurlencode都是對字符進行編碼的,下面我來給大家介紹urlencode和rawurlencode的區(qū)別,有需要了解的朋友可參考.

urlencode的用途就是編碼字符串,把原字符串中所有除”-_”以為的非所有字母數(shù)字字符替換成百分號(%)后跟兩位十六進制數(shù),但是需要注意:由于歷史原因會把空格替換+號.rawurlencode其實和urlencode一樣,也是用來編碼字符串的,唯一的不同是它是使用RFC1738 編碼,也就是會把空格替換成%20.

它們對應的解碼函數(shù)是urldecode和rawurldecode.參考官方網(wǎng)站的說明,urldecode解碼給出的已編碼字符串中的任何%##,加號(’+')被解碼成一個空格字符;rawurldecode解碼字符字符串中百分號(%)后跟兩位十六進制.有兩點區(qū)別,一是urldecode解碼是對百分號(%)后任意兩位字符都去會進行解碼,例如%MN也會解碼,但是會失敗;rawurldecode則只會對百分號(%)后兩位是十六進制(0-9A-F)的字符才會解碼,二是urldecode會把+號解碼為空格.

我們再看來兩個函數(shù)在php官方的介紹吧.

urlencode — 編碼 URL 字符串Report a bug 說明

string urlencode ( string $str )

此函數(shù)便于將字符串編碼并將其用于 URL 的請求部分,同時它還便于將變量傳遞給下一頁.Report a bug 參數(shù)str 要編碼的字符串.

Report a bug 返回值

返回字符串,此字符串中除了 -_. 之外的所有非字母數(shù)字字符都將被替換成百分號(%)后跟兩位十六進制數(shù),空格則編碼為加號(+).此編碼與 WWW 表單 POST 數(shù)據(jù)的編碼方式是一樣的,同時與 application/x-www-form-urlencoded 的媒體類型編碼方式一樣.由于歷史原因,此編碼在將空格編碼為加號(+)方面與 RFC1738 編碼(參見 rawurlencode())不同.

實例代碼如下:

  1. Example #1 urlencode() 例子 
  2. <?php 
  3. echo '<a href="mycgi?foo=', urlencode($userinput), '">'
  4. ?> 
  5.  
  6. Example #2 urlencode() 與 htmlentities() 例子 
  7. <?php 
  8. $query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar); 
  9. echo '<a href="mycgi?' . htmlentities($query_string) . '">'
  10. ?> 

rawurlencode — 按照 RFC 1738 對 URL 進行編碼Report a bug 說明

string rawurlencode ( string $str )

根據(jù) » RFC 3986 編碼指定的字符.Report a bug 參數(shù)str 要編碼的 URL.

Report a bug 返回值

返回字符串,此字符串中除了 -_. 之外的所有非字母數(shù)字字符都將被替換成百分號(%)后跟兩位十六進制數(shù).這是在 » RFC 3986 中描述的編碼,是為了保護原義字符以免其被解釋為特殊的 URL 定界符,同時保護 URL 格式以免其被傳輸媒體(像一些郵件系統(tǒng))使用字符轉換時弄亂.

實例代碼如下:

  1. Example #1 在 FTP URL 里包含一個密碼 
  2. <?php 
  3. echo '<a href="ftp://user:', rawurlencode('foo @+%/'), 
  4.      '@ftp.example.com/x.txt">'
  5. ?>  

以上例程會輸出:

<a href="ftp://user:foo%20%40%2B%25%2F@ftp.example.com/x.txt">
通過上面對解碼函數(shù)的描述,可以推論,使用urlencode或rawurlencode編碼的都可以使用urldecode進行解碼,但是如果原字符串中含有空格,使用urlencode編碼后的字符串使用rawurlencode解碼后獲得的字符串會和原字符串不同.
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 69视频在线观看高清免费 | 波多野结衣gvg | 宇都宫紫苑ed2k | 午夜dj影院在线观看免费视频中文 | 国内自拍成人网在线视频 | 亚洲高清日韩精品第一区 | 国产成人高清视频 | 久久精品免视国产 | 欧洲美女性做爰 | 国产精品自拍第一页 | 国产成人免费片在线视频观看 | 美国一级毛片视频 | 欧美图片另类小说综合 | 国产精品亚洲精品日韩己满十八小 | 午夜在线播放视频在线观看视频 | 视频在线观看一区二区三区 | 不卡的毛片 | 性欧美videos喷水 | 麻豆视传媒一区二区三区 | 欧美性色网 | 96xxxxx视频 | 欧美精品一区二区三区四区 | 最近免费中文字幕4 | 中文字幕亚洲欧美 | 欧美视频在线观看视频 | 欧美性大交大片在线 | 亚洲综合一区二区精品久久 | 成人欧美一区二区三区在线 | 日韩欧美亚洲综合 | 武则天一级淫片免费放 | 国产拍拍拍免费专区在线观看 | 国产一区二区三区国产精品 | 国产嫩草影院精品免费网址 | 欧美巨大黑人精品videos人妖 | 91精品国产高清91久久久久久 | 男女视频免费观看 | 免费在线观看黄色的网站 | 国产成人一区二区三区视频免费 | 日本中文在线播放 | 欧美性88xx | 欧美国产日韩一区二区三区 |