public class ByteTest { public static void main(String[] args) { byte[] result = int2ByteArray(12556); System.err.println("result = " + result[0] + " " + result[1] + " " + result[2] + " " + result[3]); int intResult = byteArray2Int(result); System.err.println(intResult); } /** * 字节数组的低位是整型的高字节位 * @param target * @return */ public static byte[] int2ByteArray(int target) { byte[] array = new byte[4]; for (int i = 0; i < 4; i++) { int offSet = array.length -i -1; array[i] = (byte) (target >> 8 * offSet & 0xFF); } return array; } /** * 字节数组的低位是整型的高字节位 * @param array * @return */ public static int byteArray2Int(byte[] array) { int result = 0; byte loop; for (int i = 0; i < 4; i++) { loop = array[i]; int offSet = array.length -i -1; result += (loop & 0xFF) << (8 * offSet); } return result; } }
运行 结果:
result = 0 0 49 12
12556