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('');
 }

你可能感兴趣的:(JavaScript,前端)