js字符編碼函數(shù)區(qū)別分析
更新時間:2008年06月05日 19:31:50 作者:
js對文字編碼有3個函數(shù):
escape,encodeURI,encodeURIComponent,
對應的解碼函數(shù):unescape,decodeURI,decodeURIComponent
1、escape對ansi碼0-255以外的字符進行編碼輸出%u****格式即unicode值,escape 方法返回一個包含了 charstring 內(nèi)容的字符串值( Unicode 格式)。所有空格、標點、重音符號以及其他非 ASCII 字符都用 %xx 編碼代替,其中 xx 等于表示該字符的十六進制數(shù)。例如,空格返回的是 "%20"
escape不編碼字符有69個:*,+,-,.,/,@,_,0-9,a-z,A-Z
2、encodeURI類似escape,用于地址欄編碼
encodeURI不編碼字符有82個:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
3、encodeURIComponent用于地址欄編碼。將文本字符串編碼為一個統(tǒng)一資源標識符 (URI) 的一個有效組件。它是將中文、韓文等特殊字符轉換成utf-8格式的url編碼,如果你的頁面編碼是gb2312的話,服務器端接收的將是亂碼.
encodeURIComponent不編碼字符有71個:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
所以js使用數(shù)據(jù)時可以使用escape,對于地址欄數(shù)據(jù),最好用encodeURIComponent進行編碼。
escape不編碼字符有69個:*,+,-,.,/,@,_,0-9,a-z,A-Z
2、encodeURI類似escape,用于地址欄編碼
encodeURI不編碼字符有82個:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
3、encodeURIComponent用于地址欄編碼。將文本字符串編碼為一個統(tǒng)一資源標識符 (URI) 的一個有效組件。它是將中文、韓文等特殊字符轉換成utf-8格式的url編碼,如果你的頁面編碼是gb2312的話,服務器端接收的將是亂碼.
encodeURIComponent不編碼字符有71個:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
所以js使用數(shù)據(jù)時可以使用escape,對于地址欄數(shù)據(jù),最好用encodeURIComponent進行編碼。
相關文章
正則表達式刪除JavaScript代碼中的空格、注釋和換行符
這篇文章主要介紹了正則表達式刪除JavaScript代碼中的空格、注釋和換行符,需要的朋友可以參考下2023-12-12
IE8利用自帶的setCapture和releaseCapture解決iframe的拖拽事件方法
最近有個需求須要實現(xiàn)左右拖拽功能,頁面右邊是個iframe頁面,在chrome測試通過之后,發(fā)現(xiàn)在ie8上面效果不是很理想,查閱相關資料找到可以使用ie自帶的setCapture和releaseCapture來解決,需要的朋友可以參考下2016-10-10
如何在JavaScript實現(xiàn)Blob文件流下載
在JavaScript中可以使用瀏覽器提供的Blob對象和URL.createObjectURL()方法來實現(xiàn)文件流下載,這篇文章主要給大家介紹了關于如何在JavaScript實現(xiàn)Blob文件流下載的相關資料,需要的朋友可以參考下2024-05-05
javascript實現(xiàn)的猜數(shù)小游戲完整實例代碼
這篇文章主要介紹了javascript實現(xiàn)的猜數(shù)小游戲,游戲中用戶共有10次猜測機會,并且每次都有不同的提示信息,該游戲涉及javascript流程控制與數(shù)值運算的相關技巧,需要的朋友可以參考下2016-05-05

