宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 个人博客 > javascript

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

2016-10-13 00:16:48 点击量:109 标签: 收藏本文

1、知识准备

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

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

  例:

  1. var str="胜多负少"
  2.  
  3. document.write(str.charCodeAt(0)+'<br/>');    //32988 
  4. document.write(str.charCodeAt(2)+'<br/>');    //36127 
  5.  
  6. document.write(String.fromCharCode(32988)+'<br/>');        //胜 
  7. document.write(String.fromCharCode(36127)+'<br/>');        //负 

2、把 中文字符串 转换为 十六进制Unicode编码

  1. var toUnicode = function (s) { 
  2.         var str = ""
  3.         for (var i = 0; i < s.length; i++) { 
  4.             str +="\\u"+s.charCodeAt(i).toString(16)+"\t"; 
  5.         } 
  6.         return str; 
  7.     } 
  8.     var a = '胜多负少'
  9.  
  10.     document.write(toUnicode(a));    // \u80dc    \u591a    \u8d1f    \u5c11 

3、把 十六进制Unicode编码 转换为 中文字符串。 

  因为"\u"会被转义,所以字符串里要写成"\\u"。

  1. var toStr = function (n){ 
  2.         var str = ""
  3.         var s = n.split('\\u'); 
  4.         for(var i = 0;i < s.length;i++){ 
  5.             str += String.fromCharCode(parseInt(s[i],16))+"\t"; 
  6.         } 
  7.         return str; 
  8.     } 
  9.     var b = "\\u80dc    \\u591a    \\u8d1f    \\u5c11"
  10.  
  11.     document.write(toStr(b));    // 胜    多    负    少 

 

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室