我是做Android开发的,在做小程序蓝牙开发时,遇到很多问题,特别是数据问题,简直要了我半条命。
十进制转换十六进制:
function toHex(num) {
var rs = "";
var temp;
while (num / 16 > 0) {
temp = num % 16;
rs = (temp + "").replace("10", "a").replace("11", "b").replace("12", "c").replace("13", "d").replace("14", "e").replace("15", "f") + rs;
num = parseInt(num / 16);
}
console.warn(rs); //打印
return rs;
}
设备返回的数据,直接用这个方法:
function buf2hex(buffer) { // buffer is an ArrayBuffer
return Array.prototype.map.call(new Uint8Array(buffer), x => ('00' + x.toString(16)).slice(-2)).join('');
}