nodejs 十六进制字符串型数据与btye型数据相互转换

byte型转换十六进制字符串

/**
 * byte型转换十六进制
 * @param b
 * @returns {string}
 * @constructor
 */
const Bytes2HexString = (b)=> {
  let hexs = "";
  for (let i = 0; i < b.length; i++) {
    let hex = (b[i]).toString(16);
    if (hex.length === 1) {
      hexs = '0' + hex;
    }
    hexs += hex.toUpperCase();
  }
  return hexs;
}

十六进制字符串转换btye型

/**
 * 十六进制转换btye型
 * @param str
 * @returns {Promise}
 */
const Hexstring2btye = (str)=> {
  let pos = 0;
  let len = str.length;
  if (len % 2 != 0) {
    return null;
  }
  len /= 2;
  let hexA = new Array();
  for (let i = 0; i < len; i++) {
    let s = str.substr(pos, 2);
    let v = parseInt(s, 16);
    hexA.push(v);
    pos += 2;
  }
  return hexA;
}

模拟实现,使用谷歌最新版内核或者支持ES6浏览器,按F12打开调试模式,将以下两个方法输入(粘入),直接调用即可在线查看。

举个例子

1.输入byte型数据[160,100],调用Bytes2HexString([160,100]),可以得到"A064";

2.输入十六进制字符串数据"A064",调用Hexstring2btye("A064"),可以得到[160,100]。

总结

以上所述是小编给大家介绍的nodejs 十六进制字符串型数据与btye型数据相互转换,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • javascript使用正则实现去掉字符串前面的所有0

    字符串是这个样子,0000202或者00000840,要对字符串前面的0在显示时去掉,只显示202,840.正则实现如下: var str="00000802"; var reg = new RegExp("([0]*)([1-9]+[0-9]+)", "g"); console.info(str.replace(reg, "$2")); 总结 以上所述是小编给大家介绍的javascript使用正则实现去掉字符串前面的所有0,

  • json字符串传到前台input的方法

    JSONObject把对象转换成的json字符串,无法直接通过request.setAttribute();传到页面的input标签 如下是错误的: request.setAttribute("pageInfoJsonStr", JSONObject.fromObject(pageInfo).toString()); 还需要 jsonStr.replaceAll("\"", "'")再放到request.setAttribute中 以上

  • js使用ajax传值给后台,后台返回字符串处理方法

    之前使用js获取后台生成的JSON字符串,然后给select填充值,这次需要重新获取一次. 这里的目标是,在一个input输入框里,输入一个用户名,判断是否为空,是否不存在,如果存在返回几个字段给前台,前台再绑定到其他input上 直接垒代码 HTML页面 <code class="language-html"><input type="text" id="iusername" runat="server"

  • JS实现字符串翻转的方法分析

    本文实例分析了JS实现字符串翻转的方法.分享给大家供大家参考,具体如下: 1. 字符串的完全翻转: var str = "smile at life"; document.write(str.split("").reverse().join("")); 结果为: efil ta elims 2. 翻转字符串中单词顺序,但单词字母顺序不变: function reverseStr(param){ var arr = param.split(&quo

  • JS判断字符串是否为整数的方法--简单的正则判断

    是否为整数 if(!/^\d+$/.test(str)) alert("不是整数"); } 1.正则表达式 "^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\\d+$" //整数 "^\

  • JS实现用特殊符号替换字符串的中间部分区域的实例代码

    一.引入 相信很多人都遇到过敏感信息需要做部分隐藏功能,大多数都是用特殊符号去替换. 正好今天我又遇到这样的前端显示的需求,正好把相关JS记录下来,方便下次再用. 二.JS部分 /* 部分隐藏处理 ** str 需要处理的字符串 ** frontLen 保留的前几位 ** endLen 保留的后几位 ** cha 替换的字符串 */ function plusXing(str, frontLen, endLen,cha) { var len = str.length - frontLen - e

  • JS中判断字符串存在和非空的方法

    看到这个题目你是怎么想的呢?这个很简单啊,typeof 一下,再判断length. if(typeof unknownVariable ==='string' && unknownVariable.length){ ... } 搞定了吗? 如果这个字符串是用new String() 创建的会如何呢?typeof 这个未知变量肯定是 object.你会怎么办? 你肯定还得先判断类型,typeof unknownVariable==='object' ?但你得想还有一个null变量的 type

  • Javascript格式化并高亮xml字符串的方法及注意事项

    两个关键点 1.使用DOMParser解析xml 2.递归遍历xml树,按格式输出每一个节点 关于使用DOMParser 此方法目前在IE9以上和其它浏览器里都是支持的,所以这里不在写关于IE9以下不支持的情况, 具体的使用请跳转 https://developer.mozilla.org/en-US/docs/Web/API/DOMParser Javascript代码 /** * 格式化xml * @param content * @returns {*} */ this.parse_xml

  • JavaScript 正则表达式与字符串查找方法

    首先提出一个问题: 如何取得一个给定的字符串substr在另一个字符串str中出现的次数? 字符串匹配,第一想到的就是正则表达式,但我们最常使用的字面量来创建的正则表达式方式却无法传入变量, 这时应该使用另一种创建正则表达式的方式:构造函数,如下 var reg = new RegExp(substr, "g"); 其中第一个参数表示要匹配的字符串模式,因此可以传入变量,不需要加/ /,第二个参数是可选的标志字符串. 可以传入变量了,再介绍个字符串基本包装类型的方法:match() 语

  • nodejs 十六进制字符串型数据与btye型数据相互转换

    byte型转换十六进制字符串 /** * byte型转换十六进制 * @param b * @returns {string} * @constructor */ const Bytes2HexString = (b)=> { let hexs = ""; for (let i = 0; i < b.length; i++) { let hex = (b[i]).toString(16); if (hex.length === 1) { hexs = '0' + hex;

  • Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】

    本文实例讲述了Python实现从SQL型数据库读写dataframe型数据的方法.分享给大家供大家参考,具体如下: Python的pandas包对表格化的数据处理能力很强,而SQL数据库的数据就是以表格的形式储存,因此经常将sql数据库里的数据直接读取为dataframe,分析操作以后再将dataframe存到sql数据库中.而pandas中的read_sql和to_sql函数就可以很方便得从sql数据库中读写数据. read_sql 参见pandas.read_sql的文档,read_sql主

  • redis命令行查看中文不乱码的方法(十六进制字符串处理)

    redis命令行查看中文不乱码 Redis在使用命令行操作时,如果查看内容中包含中文,会显示16进制的字符串"\xe4\xb8\xad\xe5\x9b\xbd" 127.0.0.1:6379> set k1 '中国' OK 127.0.0.1:6379> get k1 "\xe4\xb8\xad\xe5\x9b\xbd" 如果想要看到的中文不乱码,解决方案有两种: 一.使用echo $ echo -e `redis-cli get k1` 中国 二.re

  • nodejs body-parser 解析post数据实例

    安装 $ npm install body-parser API var bodyPaeser =require('body-parser') 可以通过body-parser 对象创建中间件,当接收到客户端请求时所有的中间件都会给req.body 添加属性,请求体为空,则解析为空{} (或者出现错误). bodyParser.json(options) 中间件只会解析 json ,允许请求提任意Unicode编码支持 gzip 和 deflate 编码. options 一个对象,有以下属性 i

  • 浅析nodejs实现Websocket的数据接收与发送

    WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术.在WebSocket API中,浏览器和服务器只需要要做一个握手(handshaking)的动作,然后,浏览器和服务器之间就形成了一条快速通道.两者之间就直接可以数据互相传送. WebSocket是一个通信的协议,分为服务器和客户端.服务器放在后台,保持与客户端的长连接,完成双方通信的任务.客户端一般都是实现在支持HTML5浏览器核心中,通过提供JavascriptAPI使用网页可以建立websocket连接.

  • Java编程实现对十六进制字符串异或运算代码示例

    前言:好久没有写博客,最近一年感觉真是好忙,各种做不完的工作.相信很多上班族都会有这种感觉.最近对NFC进行写卡操作,需要计算一个校验位.一般情况下,校验位多数是由前几个字节进行异或运算所得. 现在我就先说一下我使用的场景: 把一个16字节的数据写到CPU卡(如交通卡)里面,最后一字节是校验码---前十五字节异或. 我开始从网上找了一些别人写的算法发现计算后结果不对,或者就是写的太复杂了,于是自己就写了一个,感觉也比较简单,现在分享给大家,希望一起交流一下. 第一节:什么是异或运算(主要摘自百度

  • 使用Python对mongo数据库中字符串型正负数值比较大小

    数据库中数据展示: 使用python代码实现: # Requires pymongo 3.6.0+ from pymongo import MongoClient client = MongoClient("mongodb://root:88888888@192.168.124.49:27017") database = client["test-mongo"] collection = database["students2"] # Creat

  • C++实现十六进制字符串转换为十进制整数的方法

    本文实例讲述了C++实现十六进制字符串转换为十进制整数的方法.分享给大家供大家参考.具体实现方法如下: /* * 将十六进制数字组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值 */ #include <stdio.h> #include <math.h> /* 将十六进制中的字符装换为对应的整数 */ int hexchtoi(char hexch ) { char phexch[] = "ABCDEF"; char qhexch[] = &qu

  • 详解C++中十六进制字符串转数字(数值)

    详解C++中十六进制字符串转数字(数值) 主要有两个方法,其实都是对现有函数的使用: 方法1: sscanf()   函数名: sscanf 功  能: 从字符串格式化输入 用  法: int sscanf(char *string, char *format[,argument,...]); 以上的 format 为 %x 就是将字符串格式化为 16 进制数 例子:  #include <stdio.h> void main() { char* p = "0x1a"; i

  • C++实现数字转换为十六进制字符串的方法

    本文实例讲述了C++实现数字转换为十六进制字符串的方法.分享给大家供大家参考.具体如下: function toHex(number, min) { var hexes = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F']; var hex = ''; var min = min || 2; var nibble; do { nibble = number & 0x0f; number

随机推荐