中⽂字符与⼗六进制Unicode编码相互转换
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";
}
中文字符unicode查询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编码更多知识
@挨踢前端
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论