js 16进制字符串 转 ArrayBuffer

16进制字符串 转 ArrayBuffer 的应用场景是给单片机发送指令。

16进制字符串 转 ArrayBuffer 方法一:

var hexStr = 'cf 03 00 00 00 00 1e 59 ce 96 7f 01 00 00 a5'
var strs = hexStr.split(" ")
for (var i = 0; i < strs.length; i++) {
	strs[i] = "0x" + strs[i] //每个字符加上0x			
}
var buf = Buffer.from(strs) 

16进制字符串 转 ArrayBuffer 方法二:

var hexStr = 'cf03000000001e59ce967f010000a5'
var typedArray = new Uint8Array(hexStr.match(/[\da-f]{2}/gi).map(function(h) {
	return parseInt(h, 16)
}))
var buf = typedArray.buffer

Uint8Array 数组类型转化为16进制字符串

 function uint8ArrayToHex(uint8Arr) {
      return Array.prototype.map
        .call(uint8Arr, x => ('00' + x.toString(16)).slice(-2))
        .join('');
    },

arraybuffer类型转16进制字符串

function bufToHex(buffer) {
   return Array.prototype.map
   		.call(new Uint8Array(buffer), x => ('00' + x.toString(16)).slice(-2))
   		.join('');
 }
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值