js 字节操作
阅读原文时间:2023年07月12日阅读:1

获取byte的高4位bit和低4位bit

function getHeight4(ata){//获取高四位
int height;
height = ((data & 0xf0) >> 4);
return height;
}

function getLow4(data){//获取低四位
int low;
low = (data & 0x0f);
return low;
}

十六进制字符串转字节数组

/**
* 十六进制字符串转字节数组
* 每2个字符串转换
* 100102030405060708 转为 [16, 1, 2, 3, 4, 5, 6, 7, 8]
* @param {String} str 符合16进制字符串
*/
Str2Bytes(str) {
var pos = ;
var len = str.length;
if (len % != ) {
return null;
}
len /= ;
var hexA = new Array();
for (var i = ; i < len; i++) {
var s = str.substr(pos, );
var v = parseInt(s, );
hexA.push(v);
pos += ;
}
return hexA;
},

字节数组转十六进制字符串

/**
* 字节数组转十六进制字符串
* [16, 1, 2, 3, 4, 5, 6, 7, 8] 转换 100102030405060708
* @param {Array} arr 符合16进制数组
*/
Bytes2Str(arr) {
var str = "";
for (var i = 0; i < arr.length; i++) {
var tmp = arr[i].toString(16);
if (tmp.length == 1) {
tmp = "0" + tmp;
}
str += tmp;
}
return str;
},

十六进制字符串转数组

/**
* 十六进制字符串转数组
* 1185759ac35a91143f97037002b1a266 转换 ["11", "85", "75", "9a", "c3", "5a", "91", "14", "3f", "97", "03", "70", "02", "b1", "a2", "66"]
* @param {String} str 十六进制字符串
*/
Str2Arr(str) {
var pos = 0;
var len = str.length;
if (len % 2 != 0) {
return null;
}
len /= 2;
var hexA = new Array();
for (var i = 0; i < len; i++) {
var s = str.substr(pos, 2);
hexA.push(s);
pos += 2;
}
return hexA;
},