關於JAVASCRIPT urldecode URL解碼的問題 | javascript urldecode
這個時候,出現了encodeURIComponent、decodeURIComponent,它可以完全的對URL進行編碼解碼,但是遇到例如搜尋引擎用到的部分轉碼,又摸不到門了,沒問題,PHP官方出了一個解決方案:複製程式碼[1]程式碼如下:decodeURIComponent((str”).replace(//g,‘%20’));他可以完美的對搜尋引擎的地址進行解碼,因為搜尋引擎只習慣對”空格“進行轉碼。忘了說還習慣對中文進行轉碼。。。那以上所有的方案遇到中文就崩潰了,是的,我也崩潰了,即是部分編碼,又是中文。。這讓我情何以堪。。。查了很久可以,不多說你懂的。。。複製程式碼[2]程式碼...
這個時候,出現了encodeURIComponent、decodeURIComponent,它可以完全的對URL進行編碼解碼,但是遇到例如搜尋引擎用到的部分轉碼,又摸不到門了,沒問題,PHP官方出了一個解決方案: 複製程式碼[1] 程式碼如下: decodeURIComponent((str ”).replace(/ /g, ‘%20’));
他可以完美的對搜尋引擎的地址進行解碼,因為搜尋引擎只習慣對”空格“進行轉碼。忘了說還習慣對中文進行轉碼。。。 那以上所有的方案遇到中文就崩潰了,是的,我也崩潰了,即是部分編碼,又是中文。。這讓我情何以堪。。。 查了很久可以,不多說你懂的。。。 複製程式碼[2] 程式碼如下: <script type=”text/vbscript”> Function str2asc(strstr) str2asc = hex(asc(strstr)) End Function Function asc2str(ascasc) asc2str = chr(ascasc) End Function </script> <script type=”text/javascript”> /*這裡開始時UrlEncode和UrlDecode<a href=”/?tag=%E5%87%BD%E6%95%B0″ target=”_blank”>函式</a>*/ function UrlEncode(str){ var ret=””; var strSpecial=”!”#$%&()* ,/:;<=>?[]`{|}~%”; var tt= “”; for(var i=0;i<str.length;i ){ var chr = str.charAt(i); var c=str2asc(chr); tt = chr “:” c “n”; if(parseInt(“0x” c) > 0x7f){ ret =”%” c.slice(0,2) “%” c.slice(-2); }else{ if(chr==” “) ret =” “; else if(strSpecial.indexOf(chr)!=-1) ret =”%” c.toString(...