溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

HTML中URLEncode中怎么實(shí)現(xiàn)的

發(fā)布時(shí)間:2021-06-26 14:11:54 來(lái)源:億速云 閱讀:553 作者:Leah 欄目:編程語(yǔ)言

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)HTML中URLEncode中怎么實(shí)現(xiàn)的,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

  LEncode:是指針對(duì)網(wǎng)頁(yè)url中的中文字符的一種編碼轉(zhuǎn)化方式,最常見(jiàn)的就是Baidu、Google等搜索引擎中輸入中文查詢時(shí)候,生成經(jīng)過(guò)Encode過(guò)的網(wǎng)頁(yè)URL。URLEncode的方式一般有兩種,一種是傳統(tǒng)的基于GB2312的Encode(Baidu、Yisou等使用),另一種是基于UTF-8的Encode(Google、Yahoo等使用)。下面億速云小編來(lái)講解下HTML中的URLEncode怎么實(shí)現(xiàn)?PHP中的URLEncode怎么實(shí)現(xiàn)?

  HTML中的URLEncode怎么實(shí)現(xiàn)

  編碼為GB2312的html文件中:http://s.jb51.net/中文.rar->瀏覽器自動(dòng)轉(zhuǎn)換為->http://s.jb51.net/%D6%D0%CE%C4.rar

  注意:Firefox對(duì)GB2312的Encode的中文URL支持不好,因?yàn)樗J(rèn)是UTF-8編碼發(fā)送URL的,但是ftp://協(xié)議可以,我試過(guò)了,我認(rèn)為這應(yīng)該算是Firefox一個(gè)bug。

  編碼為UTF-8的html文件中:http://s.jb51.net/中文.rar->瀏覽器自動(dòng)轉(zhuǎn)換為->http://s.jb51.net/%E4%B8%AD%E6%96%87.rar。

  PHP中的URLEncode怎么實(shí)現(xiàn)

  //GB2312的Encode

  echourlencode("中文-_.")."\n";//%D6%D0%CE%C4-_.+

  echourldecode("%D6%D0%CE%C4-_.")."\n";//中文-_.

  echorawurlencode("中文-_.")."\n";//%D6%D0%CE%C4-_.%20

  echorawurldecode("%D6%D0%CE%C4-_.")."\n";//中文-_.

  >

  除了“-_.”之外的所有非字母數(shù)字字符都將被替換成百分號(hào)“%”后跟兩位十六進(jìn)制數(shù)。

  urlencode和rawurlencode的區(qū)別:urlencode將空格編碼為加號(hào)“+”,rawurlencode將空格編碼為加號(hào)“%20”。

  假如要使用UTF-8的Encode,有兩種方法:

  一、將文件存為UTF-8文件,直接使用urlencode、rawurlencode即可。

  二、使用mb_convert_encoding函數(shù):

  $url='http://s.jb51.net/中文.rar';

  echourlencode(mb_convert_encoding($url,'utf-8','gb2312'))."\n";

  echorawurlencode(mb_convert_encoding($url,'utf-8','gb2312'))."\n";

  //http%3A%2F%2Fs.jb51.net%2F%E4%B8%AD%E6%96%87.rar

  >

  實(shí)例:

  functionparseurl($url="")

  {

  $url=rawurlencode(mb_convert_encoding($url,'gb2312','utf-8'));

  $a=array("%3A","%2F","%40");

  $b=array(":","/","@");

  $url=str_replace($a,$b,$url);

  return$url;

  }

  $url="ftp://ud03:password@s.jb51.net/中文/中文.rar";

  echoparseurl($url);

  //ftp://ud03:password@s.jb51.net/%D6%D0%CE%C4/%D6%D0%CE%C4.rar

  >

  JavaScript中的URLEncode:

  如:%E4%B8%AD%E6%96%87-_.%20%E4%B8%AD%E6%96%87-_.%20

  encodeURI不對(duì)下列字符進(jìn)行編碼:“:”、“/”、“;”、“”、“@”等特殊字符。

上述就是小編為大家分享的HTML中URLEncode中怎么實(shí)現(xiàn)的了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI