js 字节操作
获取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 = 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); var v = parseInt(s, 16); hexA.push(v); pos += 2; } 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; },