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

发布了301 篇原创文章 · 获赞 263 · 访问量 234万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 成长之路 设计师: Amelia_0503

分享到微信朋友圈

×

扫一扫,手机浏览