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) 的一個有效組件。它是將中文、韓文等特殊字符轉(zhuǎn)換成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) 的一個有效組件。它是將中文、韓文等特殊字符轉(zhuǎn)換成utf-8格式的url編碼,如果你的頁面編碼是gb2312的話,服務器端接收的將是亂碼.
encodeURIComponent不編碼字符有71個:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
所以js使用數(shù)據(jù)時可以使用escape,對于地址欄數(shù)據(jù),最好用encodeURIComponent進行編碼。
相關(guān)文章
JavaScript改變HTML元素的樣式改變CSS及元素屬性
改變CSS及元素屬性的方法有很多,在本文將為大家介紹下使用js是如何做到的,感興趣的朋友可以感受下2013-11-11使用JS的DOM文檔對象模型獲取前端循環(huán)的參數(shù)
這篇文章主要介紹了使用JS的DOM(文檔對象模型)獲取前端循環(huán)的參數(shù),本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2023-02-02JavaScript實現(xiàn)彈出DIV層同時頁面背景漸變成半透明效果
這篇文章主要介紹了JavaScript實現(xiàn)彈出DIV層同時頁面背景漸變成半透明效果,涉及JavaScript彈出窗口的實現(xiàn)及頁面元素屬性動態(tài)變換的相關(guān)技巧,需要的朋友可以參考下2016-03-03更改BootStrap popover的默認樣式及popover簡單用法
這篇文章主要介紹了更改BootStrap popover的默認樣式及popover簡單用法,需要的朋友可以參考下2018-09-09unicloud云開發(fā)進階獲取首頁列表數(shù)據(jù)示例詳解
這篇文章主要為大家介紹了unicloud云開發(fā)進階獲取首頁列表數(shù)據(jù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03