/**
* 将整数转换为一个长度为8的二进制数组,数组每个值代表bit
* 如127 = [0,1,1,1,1,1,1,1]
*/
function byteToBitArray(b) {
var array = new Array(8)
for (var i = 7; i >= 0; i--) {
array[i] = b & 1
b = b >> 1
}
return array
}
/**
* 整数转array数组
* 如:1 = [0,1]
*/
function intToByteArray(i) {
var result = new Array(2)
result[0] = (i >> 8) & 0xFF
result[1] = i & 0xFF
return result
}
array数组转整数 这里最大不能超过2个字节 否则超过2个字节的取值范围了
/**
* byte数组转int 2-1
*/
function byteArrayToInt(bytes) {
var value = 0;
// 由高位到低位
for (var i = 0; i < bytes.length; i++) {
var shift = (bytes.length - 1 - i) * 8;
value += (bytes[i] & 0x000000FF) << shift; // 往高位游
}
return value;
}