博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用JavaScript 来将数字转换成字符。
阅读量:4543 次
发布时间:2019-06-08

本文共 854 字,大约阅读时间需要 2 分钟。

背景: 一切嵌入式设备上面的信息,比如设备名称,设备时区是可以写入到设备上面的寄存器中的(一个寄存器两个字节,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);

转载于:https://www.cnblogs.com/oxspirt/p/4942498.html

你可能感兴趣的文章
数据库知识点积累
查看>>
好看的背景
查看>>
类名&函数名 是什么意思
查看>>
Silverlight 4 的 WCF NET.TCP 协议
查看>>
关于换位思考
查看>>
设置VSS2005使支持通过Internet访问
查看>>
word2010更改样式
查看>>
百家姓
查看>>
Xcode代码提示里的字母含义
查看>>
[CQOI2017]小Q的表格(数论+分块)
查看>>
leetcode59
查看>>
tcp eaddrnotavail
查看>>
同步带传动张紧轮位置估算
查看>>
Access连接字符串
查看>>
python单元测试框架pytest——fixture函数(类似unitest的setup和teardown)
查看>>
Hadoop源码分析8: IPC流程(3)客户端的clients、connections、calls复用
查看>>
[MVC]View
查看>>
Django REST FRAMEWORK swagger(二)model序列化
查看>>
一点随想
查看>>
SVN操作步骤
查看>>