zoukankan      html  css  js  c++  java
  • 字符转换 Unicode,进制转换

      charCodeAt()方法,此方法返回一个字符的 Unicode 值,该字符位于指定索引位置。

      fromCharCode()方法,此方法将 Unicode 码转换为与之对应的字符。

    字符转Unicode码:  

    var str="申晓亮";
    str.charCodeAt(0);//30003
    str.charCodeAt(1);//26195
    str.charCodeAt(2);//20142

    Unicode码转字符:

    String.fromCharCode(73,76,79,86,69,85,30003,26195,20142);//"ILOVEU申晓亮"

    js:数字转2,8,10,16进制

     var number = 18;    //注意数字格式,不加引号.                
     number.toString(2); //转成2进制   "10010"
     number.toString(8);//转成8进制    "22"
     number.toString(10);//转成10进制  "18"
     number.toString(16);//转成16进制  "12"

    js:16进制转换2,8,10进制

          

        var number = 0x11;    //注意数字格式,不加引号.                
        number.toString(2); //转成2进制   "10001"
        number.toString(8);//转成8进制    "21"
        number.toString(10);//转成10进制  "17"
        number.toString(16);//转成16进制  "11"

     1、字符串转换为十六进制
      主要使用 charCodeAt()方法,此方法返回一个字符的 Unicode 值,该字符位于指定索引位置。
      

     function stringToHex(str){
         var val="";
         for(var i = 0; i < str.length; i++){
           if(val == "")
             val = str.charCodeAt(i).toString(16);
           else
             val += "," + str.charCodeAt(i).toString(16);
         }
         return val;
       }
       //调用方法:
       var str = "abcde";
       str=stringToHex(str);
     

    2、十六进制转换为字符串(不是很明白)
      主要使用 fromCharCode()方法,此方法将 Unicode 码转换为与之对应的字符。

    function hexToString(str){
        var val="";
        var arr = str.split(","); 
        for(var  i = 0; i < arr.length; i++){
          val += arr[i].fromCharCode(i);
        }
        return val;
      }
      //调用方法:
      var str = "676865";
      stringToHex(str);

    3、用 parseInt() 方法转换

      parseInt(string, radix) 方法只能转换 String 类型,对其它类型都返回 NaN(非数字)。string 表示待转换的字符,radix 表示要转为的进制,值介于 2 ~ 36 之间。

    parseInt("bc",16); //表示把字符串bc转换为16进制,结果:188
    parseInt("10",8); //表示把字符串10转换为8进制,结果:8
    parseInt("10",2); //表示把字符串10转换为2进制,结果:2

     var str = "abcdeghijklmnopqrstuvw";
     console.log(stringToHex(str));//61,62,63,64,65,67,68,69,6a,6b,6c,6d,6e,6f,70,71,72,73,74,75,76,77
    
      str="http://www.qq.com";
      len=str.length;
      arr=[
      for(var i=0;i<len;i++){
        arr.push(str.charCodeAt(i).toString(16));
      }
    
      console.log(arr.join(","));//68,74,74,70,3a,2f,2f,77,77,77,2e,71,71,2e,63,6f,6d

    ==========================================================================

    另一种方法,还没有验证

    //字符串转16进制
    
    function strToHexCharCode(str) {
      if(str === "")
        return "";
      var hexCharCode = [];
      hexCharCode.push("0x"); 
      for(var i = 0; i < str.length; i++) {
        hexCharCode.push((str.charCodeAt(i)).toString(16));
      }
      return hexCharCode.join("");
    }
    
    //16进制转字符串
    
    function hexCharCodeToStr(hexCharCodeStr) {
      var trimedStr = hexCharCodeStr.trim();
      var rawStr = 
      trimedStr.substr(0,2).toLowerCase() === "0x"
      ? 
      trimedStr.substr(2) 
      : 
      trimedStr;
      var len = rawStr.length;
      if(len % 2 !== 0) {
        alert("Illegal Format ASCII Code!");
        return "";
      }
      var curCharCode;
      var resultStr = [];
      for(var i = 0; i < len;i = i + 2) {
        curCharCode = parseInt(rawStr.substr(i, 2), 16); // ASCII Code Value
        resultStr.push(String.fromCharCode(curCharCode));
      }
      return resultStr.join("");
    }
  • 相关阅读:
    托付和事件的使用
    在使用supervisord 管理tomcat时遇到的小问题
    无法安装vmware tools的解决方PLEASE WAIT! VMware Tools is currently being installed on your system. Dependin
    (转)Openlayers 2.X加载高德地图
    (转)openlayers实现在线编辑
    (转) Arcgis for js加载百度地图
    (转)Arcgis for js加载天地图
    (转) 基于Arcgis for Js的web GIS数据在线采集简介
    (转) Arcgis for js之WKT和GEOMETRY的相互转换
    (转)Arcgis for Js之Graphiclayer扩展详解
  • 原文地址:https://www.cnblogs.com/s-xl/p/7744835.html
Copyright © 2011-2022 走看看