记录一个int[] 转 byte[]的工具方法:
public static byte[] IntArrayToByteArray(int[] intArray) { if (intArray == null || intArray.length == 0) { return null; } ByteBuffer byteBuffer = ByteBuffer.allocate(intArray.length * 4); byteBuffer.order(ByteOrder.LITTLE_ENDIAN); IntBuffer intBuffer = byteBuffer.asIntBuffer(); intBuffer.put(intArray); return byteBuffer.array(); }
例:
int[] arr = {0x12345678, 0x00ABCDEF};
调用上述方法转换完成的结果为:
78 56 34 12 EF CD AB 00
PS: 我这里使用的是小端格式,如果想要得到大端格式的结果,需要将红色code 修改成: byteBuffer.order(ByteOrder.BIG_ENDIAN);
over