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;
  },
原文地址:https://www.cnblogs.com/niit-soft-518/p/11772472.html