位置:首页 > 软件操作教程 > 编程开发 > JavaScript > 问题详情

JavaScript Unicode编码和解码

提问人:刘团圆发布时间:2020-11-24

■知识点

    escape()方法能够把除ASCII之外的所有字符转换为%xx或%uxxxx (x表示十六进制的数字)的转义序列。从\u000到\u00ff的Unicode字符由转义序列%xx替代,其他所有Unicode字符由%uxxxx序列替代。unescape()方法能够对escape()编码的字符串进行解码。

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

    encodeURIComponent()与 encodeURI()方法不同。它们主要区别在于,encodeURIComponent()方法假定参数是URI的一部分,例如,协议、主机名、路径或查询字符串。因此,它将转义用于分隔URI各个部分的标点符号,而encodeURIO方法仅把它们视为普通的ASCII字符,并没有转换。

■实例设计

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

var s = "JavaScript 中国"; 

s = escape(s);

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

可以使用该方法对Cookie字符串进行编码,避免与其他约定字符发生冲突,因为Cookie包含的标 点符号是有限制的。

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

var s = "JavaScript 中国"; 

s = escape(s);                  //Unicode 编码

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

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

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



继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部