一,F(xiàn)ireFox瀏覽器編碼中文字符

在Firefox瀏覽器 " /> 日本女人水多,九九热视频这里只有精,亚洲AV色香蕉一区二区9255

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php urlencode()與urldecode()函數(shù)字符編碼原理詳解

其原理就是把中文字符轉(zhuǎn)換為十六進(jìn)制并按某種規(guī)則進(jìn)行字符串組合,實(shí)現(xiàn)字符的編碼與解編碼,保證URL數(shù)據(jù)傳遞過程中字符的完整性和兼容性,主要討論中文字符的編碼情況。

一,F(xiàn)ireFox瀏覽器編碼中文字符

在Firefox瀏覽器下如果輸入中文字符,將會(huì)自動(dòng)實(shí)現(xiàn)URL編碼,如下

按下Enter鍵前
<aphp-interNET-url-encode-before src="/d/file/itjie/phpjishu/2014-10-22/990571f9b0a941d6ff001fd67a3373e6.png">
按下Enter鍵后
<aphp-interNET-url-encode src="/d/file/itjie/phpjishu/2014-10-22/946f0d07f1e2a8a22a7d16fac73b3a74.png">

二,urlencode()函數(shù)原理

urlencode()函數(shù)用于編碼URL字符串,這里主要討論中文字符的編碼情況,

實(shí)例如下
復(fù)制代碼 代碼如下:
echo urlencode('不要迷戀哥');//輸出:%B2%BB%D2%AA%C3%D4%C1%B5%B8%E7

urlencode()函數(shù)原理就是首先把中文字符轉(zhuǎn)換為十六進(jìn)制,然后在每個(gè)字符前面加一個(gè)標(biāo)識(shí)符%,了解了這個(gè)原理,可以實(shí)現(xiàn)自定義的URL編碼函數(shù),代碼如下
復(fù)制代碼 代碼如下:
$string = "不要迷戀哥";
$length = strlen($string);
echo $string;
$result = array();
//十進(jìn)制
for($i=0;$i<$length;$i++){
if(ord($string[$i])>127){
$result[] = ord($string[$i]).' '.ord($string[++$i]);
}
}
var_dump($result);
//十六進(jìn)制
$strings = array();
foreach($result as $v){
$dec = explode(" ",$v);
$strings[] = "%".dechex($dec[0])." "."%".dechex($dec[1]);
}
var_dump($strings);

<aphp-self-urlencode src="/d/file/itjie/phpjishu/2014-10-22/4ced1d46ea89a475a782eb48608ad4f3.png">

上面代碼在[php實(shí)現(xiàn)中文字符進(jìn)制轉(zhuǎn)換原理分析]一文中中文字符轉(zhuǎn)十六進(jìn)制原理分析部分有詳細(xì)討論,通過獲取漢字的各個(gè)字符再轉(zhuǎn)換為十六進(jìn)制,同時(shí)在每個(gè)字符前面加上一個(gè)特殊的標(biāo)識(shí)符%,就實(shí)現(xiàn)了urlencode()函數(shù)的功能,輸出結(jié)果如下
然后對(duì)輸出的結(jié)果與直接使用urlencode()編碼的字符進(jìn)行比較,如上:%B2%BB%D2%AA%C3%D4%C1%B5%B8%E7

通過上面實(shí)例可知,使用urlencode()函數(shù)編碼中文字符實(shí)質(zhì)上就是把字符轉(zhuǎn)換為十六進(jìn)制再在第個(gè)字符左邊加上一個(gè)特殊的標(biāo)識(shí)符%

三,urldecode()函數(shù)原理

使用urldecode()函數(shù)解碼已編碼的 URL 字符串,實(shí)例如下

echo urldecode('%B2%BB%D2%AA%C3%D4%C1%B5%B8%E7');//輸出:不要迷戀哥
urldecode()函數(shù)與urlencode()函數(shù)原理相反,用于解碼已編碼的 URL 字符串,其原理就是把十六進(jìn)制字符串轉(zhuǎn)換為中文字符,結(jié)合上面實(shí)例,同樣可實(shí)現(xiàn)自定義函數(shù)解碼字符串
復(fù)制代碼 代碼如下:
$string = '%B2%BB%D2%AA%C3%D4%C1%B5%B8%E7';
$length = strlen($string);
$hexs = array();
for($i=0;$i<$length;$i++){
if($string[$i] == '%'){
$hexs[] = $string[++$i].$string[++$i];
}
}
$num = count($hexs);
for($i=0;$i<$num;$i++){
echo chr(hexdec($hexs[$i])).chr(hexdec($hexs[++$i]));
}

上面實(shí)例代碼首先按字符串的規(guī)則取出各個(gè)字符的十六進(jìn)制,然后使用hexdec()函數(shù)把十六進(jìn)制轉(zhuǎn)換為十進(jìn)制,然后再使用chr()函數(shù)把十進(jìn)制轉(zhuǎn)換為字符,實(shí)現(xiàn)十六進(jìn)制轉(zhuǎn)換為字符。輸出結(jié)果如下

<aphp-self-urldecode src="/d/file/itjie/phpjishu/2014-10-22/f48c2b3d0c0f28fa114f2bcaaeffd354.png">

四,urldecode()與urlencode()函數(shù)說明

urlencode
(php 3, php 4, php 5)
urlencode -- 編碼 URL 字符串
說明
string urlencode ( string str )
返回字符串,此字符串中除了 -_. 之外的所有非字母數(shù)字字符都將被替換成百分號(hào)(%)后跟兩位十六進(jìn)制數(shù),空格則編碼為加號(hào)(+)。此編碼與 WWW 表單 POST 數(shù)據(jù)的編碼方式是一樣的,同時(shí)與 application/x-www-form-urlencoded 的媒體類型編碼方式一樣。由于歷史原因,此編碼在將空格編碼為加號(hào)(+)方面與 RFC1738 編碼(參見 rawurlencode())不同。此函數(shù)便于將字符串編碼并將其用于 URL 的請求部分,同時(shí)它還便于將變量傳遞給

urldecode
(php 3, php 4, php 5)
urldecode -- 解碼已編碼的 URL 字符串
說明
string urldecode ( string str )
解碼給出的已編碼字符串中的任何 %##。返回解碼后的字符串。

五,參考資源
urlencode()說明
urldecode()說明

php技術(shù)php urlencode()與urldecode()函數(shù)字符編碼原理詳解,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 伊人久久综合 | 国产成人综合网在线观看 | 亚洲AV日韩AV欧美在线观看网 | 亚洲AV中文字幕无码久久 | 无限资源在线观看播放 | 啦啦啦WWW在线观看免费高清版 | 在线观看免费视频播放视频 | 视频一区国产第一页 | 日本成熟bbxxxxxxxx | 快播免费电影 | 国产麻豆精品久久一二三 | 午夜视频在线网站 | 校花被扒衣吸乳羞羞漫画 | 午夜在线观看免费完整直播网 | 国产免费久久爱久久啪 | 在线超碰免费视频观看 | 亚洲精品乱码一区二区三区 | 纯肉小黄文高H | 我半夜摸妺妺的奶C了她 | 老阿姨才是最有V味的直播 牢记永久免费网址 | 性刺激欧美三级在线现看中文 | 男女性杂交内射妇女BBWXZ | 国产九色在线 | 国产亚洲精品V在线观看一 国产亚洲精品a在线观看app | 久久机热视频 这里只有精品首页 | 国产欧美一区二区三区视频 | 国产精品看高国产精品不卡 | 老太婆性BBWBBW| 天天躁人人躁人人躁狂躁 | 人妻无码AV中文系统久久免费 | 成人区精品一区二区不卡AV免费 | 国产成人aaa在线视频免费观看 | 久久久国产精品免费A片3D | 日本美女靠逼 | 久久久中日AB精品综合 | 天天射天天爱天天干 | 看全色黄大色大片免费久黄久 | 大胆国模一区二区三区伊人 | 国产一级毛片在线 | 偷窥wc美女毛茸茸视频 | 欧美 日韩 亚洲 在线 |