javascript和html中unicode编码和字符转义的详解

本人之前已经对javascript中unicode编码进行了解释,请参照http://ulhoo.com/blog/?p=72。但在不是十分理解unicode和html转义的情况下,可能会误用,所以下面会对它们再做比较容易理解的解释:

1.html中的转义:在html中如果遇到转义字符(如“ ”),不管你的页面字符编码是utf-8亦或者是GB2312,都会直接打印成相应的字符;而当遇到(如:“\u8981”【此处的8981是16进制值】)时,则不会打印成相应字符。

/*
 *html标记的转义
 *@example
 *<p>Hello World!</p>
 *       ||等价于
 *<p>Hello&nbsp;World!</p>
 *       ||等价于
 *<p>Hello&#160;World!</p>*/
"&nbsp;" == "&#160;"; //false
"&nbsp;".length == 6; //true

2.html中的unicode编码:(如:”&#160;”,【此处的160是10进制值】)

3.javascript内的unicode编码:当遇到unicode编码时(如:“\u8981”),则会打印成相应的字符;而在javasript标签中,不会对转义字符进行转义(如“&nbsp;&#160;”)

/*
 *javascript中unicode编码
 *@example
 *"\u8981" == "要"; //true
 */
"\u8981".length == 1; //true

4.javascript中的转义:(如:”\n”会转义成换行符)

5.javascript中unicode编码和字符的相互转化

/*
 *unicode编码和字符相互转化
 */
"要".charCodeAt() == 35201; //true,35201为10进制值
String.fromCharCode(35201) == "要"; //true,35201为10进制值
"\u89" + "81" == "要"; //false,值为"u8981",是由于"\u"会转义成"u"

//从unicode编码到字符的方法
eval("(\"\u89" + "81\")") == "要"; //true,8981为16进制值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值