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