1、知识准备
str.charCodeAt() 返回字符串中的第n个字符的代码;
String.fromCharCode(27573) 返回指定Unicode编码的字符;
例:
var str="胜多负少"; document.write(str.charCodeAt(0)+'<br/>'); //32988 document.write(str.charCodeAt(2)+'<br/>'); //36127 document.write(String.fromCharCode(32988)+'<br/>'); //胜 document.write(String.fromCharCode(36127)+'<br/>'); //负
2、把 中文字符串 转换为 十六进制Unicode编码
var toUnicode = function (s) { var str = ""; for (var i = 0; i < s.length; i++) { str +="\\u"+s.charCodeAt(i).toString(16)+"\t"; } return str; } var a = '胜多负少'; document.write(toUnicode(a)); // \u80dc \u591a \u8d1f \u5c11
3、把 十六进制Unicode编码 转换为 中文字符串。
因为"\u"会被转义,所以字符串里要写成"\\u"。
var toStr = function (n){ var str = ""; var s = n.split('\\u'); for(var i = 0;i < s.length;i++){ str += String.fromCharCode(parseInt(s[i],16))+"\t"; } return str; } var b = "\\u80dc \\u591a \\u8d1f \\u5c11"; document.write(toStr(b)); // 胜 多 负 少
当然,查看把 十六进制Unicode编码 转换为 中文字符串 最简单的方法就是:直接在 控制台 里 输入、回车,向下面这样(此处直接'\u+xxxx'就可):
4、Unicode编码更多知识
百度百科:http://baike.baidu.com/view/40801.htm
阮一峰的网络日志:《字符编码笔记:ASCII,Unicode和UTF-8》 http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html
汉字Unicode编码表:http://www.chi2ko.com/tool/CJK.htm
本文转自挨踢前端博客园博客,原文链接http://www.cnblogs.com/duanhuajian/archive/2013/04/26/3045144.html如需转载请自行联系原作者
@挨踢前端