Script中16进制Unicode编码与中文的相互转换

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
  2. <HTML>  
  3.  <HEAD>  
  4.   <TITLE> New Document </TITLE>  
  5.   <script language=javascript>  
  6.   
  7. function utf8to16(str) {  
  8.     var out, i, len, c;  
  9.     var char2, char3;  
  10.   
  11.     out = "";  
  12.     len = str.length;  
  13.     i = 0;  
  14.     while(i < len) {  
  15.          c = str.charCodeAt(i++);  
  16.          switch(c >> 4)  
  17.          {   
  18.            case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:  
  19.              out += str.charAt(i-1);  
  20.              break;  
  21.            case 12: case 13:  
  22.              char2 = str.charCodeAt(i++);  
  23.              out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));  
  24.              break;  
  25.            case 14:  
  26.              char2 = str.charCodeAt(i++);  
  27.              char3 = str.charCodeAt(i++);  
  28.              out += String.fromCharCode(((c & 0x0F) << 12) |  
  29.                 ((char2 & 0x3F) << 6) |  
  30.                 ((char3 & 0x3F) << 0));  
  31.              break;  
  32.          }  
  33.     }  
  34.   
  35.     return out;  
  36. }  
  37.   
  38. document.writeln(utf8to16(unescape("%E4%BD%A0%E5%A5%BD")));  
  39.   
  40.   
  41. document.writeln("%E4%BD%A0%E5%A5%BD");  
  42. document.writeln(escape("你好"));  
  43. document.writeln(encodeURI("你好"));  
  44. document.writeln(encodeURIComponent("你好"));  
  45.   
  46. </script>  
  47.  </HEAD>  
  48.   
  49.  <BODY>  
  50.     
  51.  </BODY>  
  52. </HTML>  

猜你喜欢

转载自blog.csdn.net/qq_36120342/article/details/82564269
今日推荐