欢迎光临杨雨的个人博客站!

杨雨个人网站-杨雨个人博客-杨照佳

杨雨个人博客网站

关注互联网和搜索引擎的个人博客网站

首页 > WEB开发 > JavaScript >

中文字符转十六进制Unicode编码源代码实例

发布时间:2016-07-29  编辑:杨雨个人博客网站   点击:   

1、知识准备

  str.charCodeAt()  返回字符串中的第n个字符的代码;

  String.fromCharCode(27573)  返回指定Unicode编码的字符;

  例:

var str="程序人生"; 

document.write(str.charCodeAt(0)+'<br/>');   //31243
document.write(str.charCodeAt(1)+'<br/>');   //24207 

document.write(String.fromCharCode(31243)+'<br/>');    //程
document.write(String.fromCharCode(24207)+'<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));    // \u7a0b   \u5e8f   \u4eba   \u751f

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 = "\\u7a0b   \\u5e8f   \\u4eba   \\u751f"; 
    document.write(toStr(b));    // 程    序    人    生 

转义字符"\"的妙用 

   大家可能对转义字符""不太熟悉,但对于JavaScript提供了一些特殊字符如:\n (换行)、 \r (回车)、\’ (单引号 )等应该是有所了解的吧?

  其实"\"后面还可以跟八进制或十六进制的数字,如字符"a"则可以表示为:"\141"或"\x61"(注意是小写字符"x"),至于双字节字符如汉字 "黑" 则仅能用十六进制表示为"\u9ED1"(注意是小写字符"u"),其中字符"u"表示是双字节字符,根据这个原理,下面例子中2行代码输出完全一样:        

 <script>
  alert('\x3c\x62\x3e\x77\x65\x62\u5f00\u53d1\u8005\x3c\x2f\x62\x3e');
  alert('\74\142\76\167\145\142\u5f00\u53d1\u8005\74\57\142\76');
 </script>

\u之后跟4位十六进制数。取值范围:\u0000 到 \uffff
\x之后跟2位十六进制数。取值范围:\x00 到 \xff

本文地址:http://itbyc.com/web/javascript/10605.html
转载请注明出处。
分享是一种快乐,也是一种美德:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
博客首页 | WEB开发 | 网站运营 | CMS使用教程 滇ICP备14002061号-1