2进制、16进制、字符串互转
单片机APP的项目目前完成的差不多了,主要是蓝牙软件与硬件对接比较费时费力
也总结出来了不少经验,补齐了很多不足的知识点,也了解了很多方法,简单做个总结出来
二进制arrayBuffer转为16进制,并且以字符串形式展现
// ArrayBuffer转16进制的字符串示例 ab2hex(buffer) { let hexArr = Array.prototype.map.call( new Uint8Array(buffer), function (bit) { return ("00" + bit.toString(16)).slice(-2); } ); return hexArr.join(""); },
字符串转为二进制arraybuffer格式
// 字符串转arrayBuffer string2buffer(hex_str) { let that = this; console.log("hex_str", hex_str); let typedArray = new Uint8Array( hex_str.match(/[\da-f]{2}/gi).map(function (h) { return parseInt(h, 16); }) ); return typedArray.buffer; },
16进制转字符串格式
// 16进制转为字符串 hextoString(hex) { var arr = hex.split(""); var out = ""; for (var i = 0; i < arr.length / 2; i++) { var tmp = "0x" + arr[i * 2] + arr[i * 2 + 1]; var charValue = String.fromCharCode(tmp); out += charValue; } return out; },