zoukankan      html  css  js  c++  java
  • 用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);

  • 相关阅读:
    javaWeb下载
    javaWeb上传
    JavaWeb过滤器
    JavaWeb中的监听器
    数据库dbutils
    数据库连接池
    51nod 1837 砝码称重【数学,规律】
    Codeforces Round #437 (Div. 2)[A、B、C、E]
    Codeforces Round #436 (Div. 2)【A、B、C、D、E】
    Codeforces Round #435 (Div. 2)【A、B、C、D】
  • 原文地址:https://www.cnblogs.com/oxspirt/p/4942498.html
Copyright © 2011-2022 走看看