關(guān)于URL中的特殊符號使用介紹
更新時間:2011年11月03日 15:49:46 作者:
因為經(jīng)常被Javascript中的rul的相關(guān)知識困擾,今天來總結(jié)一下URL的特殊字符
url即統(tǒng)一資源定位符,是通用資源標(biāo)志符URI的一種。
由于有效的URI中不能包含某些字符,如空格等,如果不利用相應(yīng)編碼函數(shù)對URI進(jìn)行編碼(瀏覽器會對相應(yīng)的URL進(jìn)行處理),那么無法訪問到有效的資源。
javascript的Global對象(javascript的內(nèi)置對象)中有四個URI方法,分別是encodeURI和decodeURI,encodeURIComponent和decodeURIComponent,瀏覽器模型(BOM)提供了escape和unescape。在實際應(yīng)用中,URI方法更可取,因為URI方法會對所有的Unicode符號編碼,而BOM提供的escape和unescape只對ASCII符號進(jìn)行編碼。此外escape,unescape可以用來對數(shù)據(jù)進(jìn)行加密和解密處理。
其中encodeURI和decodeURI是作相反的處理,encodeURIComponent和decodeURIComponent是做相反的處理,escape和unescape做相反的處理。
encodeURI是處理完整的URI,而encodeURIComponent處理URI片段,encodeURI編碼除:!,#,¥,&,',(,),×,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z(共82個)以外的字符,而encodeURIComponent編碼除:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z(共71個)以外的字符,escape編碼除:*,+,-,.,/,@,_,0-9,a-z,A-Zs(共61個)以外的字符。
請求服務(wù)器(服務(wù)器是64位的操作系統(tǒng))端以含有特殊字符(+)的為名字的文件,用encodeURI,decodeURIComponent或者escape都會提示相應(yīng)的資源不存在,這是為什么呢?
js代碼:
url ="http://192.168.6.135/nas135/MyDocument/1+2.txt"
window.open(EncodeURI(url),"","","");
通過debug看到
EncodeURI(url)="http://192.168.6.135/nas135/MyDocument/1%2b2.txt",但是卻打不開服務(wù)器端1+2.txt的文件,不知道是不是因為64機(jī)器的原因?請各位大俠幫忙解釋一下?
由于有效的URI中不能包含某些字符,如空格等,如果不利用相應(yīng)編碼函數(shù)對URI進(jìn)行編碼(瀏覽器會對相應(yīng)的URL進(jìn)行處理),那么無法訪問到有效的資源。
javascript的Global對象(javascript的內(nèi)置對象)中有四個URI方法,分別是encodeURI和decodeURI,encodeURIComponent和decodeURIComponent,瀏覽器模型(BOM)提供了escape和unescape。在實際應(yīng)用中,URI方法更可取,因為URI方法會對所有的Unicode符號編碼,而BOM提供的escape和unescape只對ASCII符號進(jìn)行編碼。此外escape,unescape可以用來對數(shù)據(jù)進(jìn)行加密和解密處理。
其中encodeURI和decodeURI是作相反的處理,encodeURIComponent和decodeURIComponent是做相反的處理,escape和unescape做相反的處理。
encodeURI是處理完整的URI,而encodeURIComponent處理URI片段,encodeURI編碼除:!,#,¥,&,',(,),×,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z(共82個)以外的字符,而encodeURIComponent編碼除:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z(共71個)以外的字符,escape編碼除:*,+,-,.,/,@,_,0-9,a-z,A-Zs(共61個)以外的字符。
請求服務(wù)器(服務(wù)器是64位的操作系統(tǒng))端以含有特殊字符(+)的為名字的文件,用encodeURI,decodeURIComponent或者escape都會提示相應(yīng)的資源不存在,這是為什么呢?
js代碼:
復(fù)制代碼 代碼如下:
url ="http://192.168.6.135/nas135/MyDocument/1+2.txt"
window.open(EncodeURI(url),"","","");
通過debug看到
EncodeURI(url)="http://192.168.6.135/nas135/MyDocument/1%2b2.txt",但是卻打不開服務(wù)器端1+2.txt的文件,不知道是不是因為64機(jī)器的原因?請各位大俠幫忙解釋一下?
相關(guān)文章
JavaScript立即執(zhí)行函數(shù)的三種不同寫法
這篇文章主要介紹了JavaScript立即執(zhí)行函數(shù)的三種不同寫法,需要的朋友可以參考下2014-09-09
如何使用js正則表達(dá)式驗證文件夾名是否符合規(guī)范
眾所周知正則表達(dá)式非常強(qiáng)大,下面這篇文章主要給大家介紹了關(guān)于如何使用js正則表達(dá)式驗證文件夾名是否符合規(guī)范的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
uniapp基礎(chǔ)篇之上傳圖片的實戰(zhàn)步驟
應(yīng)用uni-app開發(fā)跨平臺App項目時,上傳圖片、文檔等資源功能需求十分常見,下面這篇文章主要給大家介紹了關(guān)于uniapp基礎(chǔ)篇之上傳圖片的相關(guān)資料,需要的朋友可以參考下2022-12-12
JavaScript通如何過RGraph實現(xiàn)動態(tài)儀表盤
這篇文章主要介紹了JavaScript通如何過RGraph實現(xiàn)動態(tài)儀表盤,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10
精通Javascript系列之?dāng)?shù)據(jù)類型 字符串
下面先講一下字符串String字符串由零個或者多個字符構(gòu)成。字符可以包括字母、數(shù)字、標(biāo)點符號和空格。2011-06-06

