android byte[] 和short[]转换的方法代码

2019-12-10 20:13:51王旭

  }
  long r = 0;
  if (bBigEnding) {
   for (int i = 0; i < buf.length; i++) {
    r <<= 8;
    r |= (buf[i] & 0x00000000000000ff);
   }
  } else {
   for (int i = buf.length - 1; i >= 0; i--) {
    r <<= 8;
    r |= (buf[i] & 0x00000000000000ff);
   }
  }
  return r;
 }

 /*----------------------------------------------------------*/
 /* 对转换进行一个简单的封装 */
 /*----------------------------------------------------------*/
 public byte[] getBytes(int i) {
  return getBytes(i, this.testCPU());
 }

 public byte[] getBytes(short s) {
  return getBytes(s, this.testCPU());
 }

 public byte[] getBytes(long l) {
  return getBytes(l, this.testCPU());
 }

 public int getInt(byte[] buf) {
  return getInt(buf, this.testCPU());
 }

 public short getShort(byte[] buf) {
  return getShort(buf, this.testCPU());
 }

 public long getLong(byte[] buf) {
  return getLong(buf, this.testCPU());
 }

 /****************************************/
 public short[] Bytes2Shorts(byte[] buf) {
  byte bLength = 2;
  short[] s = new short[buf.length / bLength];
  for (int iLoop = 0; iLoop < s.length; iLoop++) {
   byte[] temp = new byte[bLength];
   for (int jLoop = 0; jLoop < bLength; jLoop++) {
    temp[jLoop] = buf[iLoop * bLength + jLoop];
   }
   s[iLoop] = getShort(temp);
  }
  return s;
 }

 public byte[] Shorts2Bytes(short[] s) {
  byte bLength = 2;
  byte[] buf = new byte[s.length * bLength];
  for (int iLoop = 0; iLoop < s.length; iLoop++) {
   byte[] temp = getBytes(s[iLoop]);
   for (int jLoop = 0; jLoop < bLength; jLoop++) {
    buf[iLoop * bLength + jLoop] = temp[jLoop];
   }