Javascript 中文转义字符

和 escape() 差不多,后面用一组数字 xxx 表示的都是该字符在字符集表里面的编码的 16 进制数字,即 %XXXX 和 /uXXXX 所指皆相同,比如输入十六进制 5BA0,我们可用 /u5BA0 表示,又或者用 %u5BA0 的字符串表示,转换成十进制都是数字 23456,再以 unicode 规则转换的则是“宠”汉字。 也就是根据规则不同,得出的结果不同,——这也是规则制定人所赋予的。

又如,155 由 8 进制转为 10 进制为 1*64+5*8+5=109

String.fromCharCode(109)==="m"

8 进制或 16 进制转义字符总共有 256 个。

16 进制转义字符 固定格式为( 2 位数):

\x HexDigit HexDigit 

下面给出相关的转换函数。

var chineseAsCode = {
	on : function (str) {
	    var arr = [];
	    var hex;
	    for (var i = 0 ; i < str.length ;i++) {
	    	hex = ("00" + str.charCodeAt(i).toString(16)).slice(-4);
	        arr.push(hex);
	    }
	    
	    return "\\u" + arr.join("\\u");
	}
	,un: function (str) {
	    return unescape(str.replace(/\/\//g, "%"));
	}
};

参考《Javascript 8 进制转义字符》http://cmc3.cn/n/258.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sp42a

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值