好好爱自己!

用JavaScript 来将数字转换成字符。

背景: 一切嵌入式设备上面的信息,比如设备名称,设备时区是可以写入到设备上面的寄存器中的(一个寄存器两个字节,2*8 bit),比如 -1 ,写入到寄存器中为 2d31,然后可以通过一些进程将寄存器中的数据上传到我们的数据库中来(比如mysql , postgres)
需求:  我们现在要在web 网页上将设备的名称,时区解析出来。

方案:1. 将16进制的 2d31 转成10进制数据。 parseInt('2d31', 16); //11569

         2. 求解出 11569 存到两个字节中是,每个字节对应的数据。。

         3. 再将各个字节中的数据通过 fromCharCode()函数转成字符串。

              上面两步结合在一起的写法:String.fromCharCode(parseInt(11569/256), 11569%256)   //-1

 

 

另外: 

开发过程中,字符串与十六进、二进制之间的相互转换常常会用到,尤其是涉及到中文的加密时,就需要把中文转换为十六进制。下面说说具体的转换方法。

  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";

  stringToHex(str);

posted @ 2015-11-06 14:28  立志做一个好的程序员  阅读(430)  评论(0编辑  收藏  举报

不断学习创作,与自己快乐相处