Byte Converter : Byte « Date Type « Android






Byte Converter

   
//package net.capstone.cra.smartcontroller.util;

/**
 * The Class ByteConverter.
 */
class ByteConverter {

  /**
   * Int2byte.
   * integer type convert to byte type
   * 
   * @param i the i
   * @return the byte[]
   */
  public static byte[] int2byte(int i) {
    byte[] array = new byte[4];
    array[3] = (byte) (i & 0xff);
    array[2] = (byte) ((i >> 8) & 0xff);
    array[1] = (byte) ((i >> 16) & 0xff);
    array[0] = (byte) ((i >> 24) & 0xff);

    return array;
  }

  /**
   * Byte2int.
   * byte type convert to integer type.
   *
   * @param bytes the bytes
   * @param start the start
   * @return the int
   */
  public static int byte2int(byte[] bytes, int start) {
    int newValue = 0;
  
    newValue |= (((int) bytes[start + 0]) << 24) & 0xFF000000;
    newValue |= (((int) bytes[start + 1]) << 16) & 0xFF0000;
    newValue |= (((int) bytes[start + 2]) << 8) & 0xFF00;
    newValue |= (((int) bytes[start + 3])) & 0xFF;
  
    return newValue;
  }

  /**
   * Float2bytes.
   * float type convert to byte type. 
   *
   * @param value the value
   * @return the byte[]
   */
  public static byte[] float2bytes(float value) {
  
    byte[] array = new byte[4];
    int intBits = Float.floatToIntBits(value);
  
    array[0] = (byte) ((intBits & 0x000000ff) >> 0);
    array[1] = (byte) ((intBits & 0x0000ff00) >> 8);
    array[2] = (byte) ((intBits & 0x00ff0000) >> 16);
    array[3] = (byte) ((intBits & 0xff000000) >> 24);
  
    return array;
  }

  /**
   * Byte2float.
   * byte type convert to float type
   *
   * @param arr the arr
   * @param start the start
   * @return the float
   */
  public static float byte2float(byte[] arr, int start) {
    int i = 0;
    int len = 4;
    int cnt = 0;
    byte[] tmp = new byte[len];
  
    for (i = start; i < (start + len); i++) {
      tmp[cnt] = arr[i];
      cnt++;
    }
  
    int accum = 0;
    i = 0;
    for (int shiftBy = 0; shiftBy < 32; shiftBy += 8) {
      accum |= ((long) (tmp[i] & 0xff)) << shiftBy;
      i++;
    }
    return Float.intBitsToFloat(accum);
  }
}

   
    
    
  








Related examples in the same category

1.Four Bytes To Long
2.Byte Convert
3.unsigned Byte To Int
4.Bytes to KB
5.byte To Unsigned Int