位置:首頁 > 軟件操作教程 > 編程開發(fā) > JavaScript > 問題詳情

JavaScript Unicode編碼和解碼

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-24

■知識(shí)點(diǎn)

    escape()方法能夠把除ASCII之外的所有字符轉(zhuǎn)換為%xx或%uxxxx (x表示十六進(jìn)制的數(shù)字)的轉(zhuǎn)義序列。從\u000到\u00ff的Unicode字符由轉(zhuǎn)義序列%xx替代,其他所有Unicode字符由%uxxxx序列替代。unescape()方法能夠?qū)scape()編碼的字符串進(jìn)行解碼。

    ECMAScriptv 3.0版本推薦使用 encodeURI()和 encodeURIComponent()方法代替 escape()方法,使用decodeURI()和 decodeURIComponent()方法代替 unescape()方法。

    encodeURIComponent()與 encodeURI()方法不同。它們主要區(qū)別在于,encodeURIComponent()方法假定參數(shù)是URI的一部分,例如,協(xié)議、主機(jī)名、路徑或查詢字符串。因此,它將轉(zhuǎn)義用于分隔URI各個(gè)部分的標(biāo)點(diǎn)符號(hào),而encodeURIO方法僅把它們視為普通的ASCII字符,并沒有轉(zhuǎn)換。

■實(shí)例設(shè)計(jì)

【示例1】下面的代碼使用escapeO方法編碼字符串。

var s = "JavaScript 中國(guó)"; 

s = escape(s);

console.log (s) ; //返回字符串"JavaScript%u4E2D%u56FD"

可以使用該方法對(duì)Cookie字符串進(jìn)行編碼,避免與其他約定字符發(fā)生沖突,因?yàn)镃ookie包含的標(biāo) 點(diǎn)符號(hào)是有限制的。

【示例2】下面的代碼使用unescape()方法解碼被escape()方法編碼的字符串。

var s = "JavaScript 中國(guó)"; 

s = escape(s);                  //Unicode 編碼

console.log(s);                 //返回字符串"JavaScript%u4E2D%u56FD"

s = unescape(s);              //Unicode 解碼

console.log(s);                 //返回字符串"JavaScript中國(guó)"



繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部