真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

urlencode與rawurlencode在php中有什么區(qū)別-創(chuàng)新互聯(lián)

這篇文章給大家介紹urlencode與rawurlencode在php中有什么區(qū)別,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的江安網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

urlencode 函數(shù):


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

rawurlencode 函數(shù):

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

'; //輸出:hello+world
echo rawurldecode($string) . '
';//輸出:hello%20world ?>

具體例子比較:



輸出結(jié)果:
———————————————————————————
所有的可打印的asscii字符:(從空格到~)
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijklmnopqrstuvwxyz{|}~
urlencode 的結(jié)果:
+%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D%7E
urlencode 不做編碼的字符:
+-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz
rawurlencode 的結(jié)果:
%20%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D%7E
rawurlencode 不做編碼的字符:
-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz

比較二者的結(jié)果:


1.  數(shù)字、大小寫字母都不編碼
2.  減號、點號、下劃線  三個不編碼
3. rawurlencode比urlencode多編碼一個”加號“

關(guān)于JavaScript中escape與encodeURIComponent的區(qū)別:

>>> console.log(encodeURIComponent("統(tǒng)一注冊1"));

%E7%BB%9F%E4%B8%80%E6%B3%A8%E5%86%8C1
>>> console.log(escape("統(tǒng)一注冊1"));
%u7EDF%u4E00%u6CE8%u518C1



輸出結(jié)果:
======================================
統(tǒng)一注冊1
%u7EDF%u4E00%u6CE8%u518C1
======================================

結(jié)果說明:


1. encodeURIComponent 總是把輸入轉(zhuǎn)換成utf8編碼處理的,按字節(jié)編碼


2. escape是按照unicode編碼處理的,因為它也對url中不安全的字符做了編碼,所以也可以在url中做編碼使用,但是,服務(wù)器端不會自動解碼,下面提供一個PHP版的解碼函數(shù),是用手冊里找的:

$v) { 
    if(substr($v,0,2) == "%u") 
      $ar[$k] = iconv("UCS-2","UTF-8",pack("H4",substr($v,-4))); 
    elseif(substr($v,0,3) == "&#x") 
      $ar[$k] = iconv("UCS-2","UTF-8",pack("H4",substr($v,3,-1))); 
    elseif(substr($v,0,2) == "&#") { 
      $ar[$k] = iconv("UCS-2","UTF-8",pack("n",substr($v,2,-1))); 
    } 
  } 
  return join("",$ar); 
}

?>

 

>>> console.log(escape(" !\"#$%&'()*+,-./0123456789:;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijklmnopqrstuvwxyz{|}~"));
%20%21%22%23%24%25%26%27%28%29*+%2C-./0123456789%3A%3B%3C%3D%3E%3F@ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D%7E
>>> console.log(encodeURIComponent("!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijklmnopqrstuvwxyz{|}~"));
%20!%22%23%24%25%26'()*%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D~
>>> console.log(escape("!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijklmnopqrstuvwxyz{|}~").replace(/%.{2}/g,""));

*+-./0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz
>>> console.log(encodeURIComponent("!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~").replace(/%.{2}/g,""));
!'()*-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~

結(jié)果比較:


escape未編碼的字符: *+-./@_   共7個


encodeURIComponent未編碼的字符: !'()*-._~  共9個

關(guān)于urlencode與rawurlencode在php中有什么區(qū)別就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


網(wǎng)站名稱:urlencode與rawurlencode在php中有什么區(qū)別-創(chuàng)新互聯(lián)
文章位置:http://weahome.cn/article/ddjeii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部