/**
* 将int数值转换为占四个字节的Byte数组
*
* @param intVal int 要转换的int值
* @param byteOrder ByteOrder 大小端模式
* @return Byte[]
*/
public static Byte[] int2Bytes(int intVal, ByteOrder byteOrder) {
ByteBuffer buffer = ByteBuffer.allocate(4);
buffer.order(byteOrder);
buffer.asIntBuffer().put(intVal);
byte[] array = buffer.array();
return bytes2Bytes(array);
}
/**
* 将int数值转换为占四个字节的byte数组
*
* @param intVal int 要转换的int值
* @param byteOrder ByteOrder 大小端模式
* @return byte[]
*/
public static byte[] int2bytes(int intVal, ByteOrder byteOrder) {
ByteBuffer buffer = ByteBuffer.allocate(4);
buffer.order(byteOrder);
buffer.asIntBuffer().put(intVal);
return buffer.array();
}
/**
* 取四个字节的byte数组所代表的int值
*
* @param bytes byte[]
* @param byteOrder ByteOrder 大小端模式
* @return int
*/
private static int bytes2int(byte[] bytes, ByteOrder byteOrder) {
ByteBuffer buffer = ByteBuffer.wrap(bytes);
buffer.order(byteOrder);
return buffer.getInt();
}
/**
* 将short数值转换为占两个字节的Byte数组
*
* @param shortVal short 要转换的short值
* @param byteOrder ByteOrder 大小端模式
* @return Byte[]
*/
public static Byte[] short2Bytes(short shortVal, ByteOrder byteOrder) {
ByteBuffer buffer = ByteBuffer.allocate(2);
buffer.order(byteOrder);
buffer.asShortBuffer().put(shortVal);
byte[] array = buffer.array();
return bytes2Bytes(array);
}
/**
* 将short数值转换为占两个字节的byte数组
*
* @param shortVal short 要转换的short值
* @param byteOrder ByteOrder 大小端模式
* @return byte[]
*/
public static byte[] short2bytes(short shortVal, ByteOrder byteOrder) {
ByteBuffer buffer = ByteBuffer.allocate(2);
buffer.order(byteOrder);
buffer.asShortBuffer().put(shortVal);
return buffer.array();
}
/**
* 取两个字节的byte数组所代表的short值
*
* @param bytes byte[]
* @param byteOrder ByteOrder 大小端模式
* @return short
*/
public static short bytes2short(byte[] bytes, ByteOrder byteOrder) {
ByteBuffer buffer = ByteBuffer.wrap(bytes);
buffer.order(byteOrder);
return buffer.getShort();
}
/**
* 将byte[]转为Byte[]
*
* @param array byte[]
* @return Byte[]
*/
public static Byte[] bytes2Bytes(byte[] array) {
if (null == array) {
return null;
}
Byte[] bytes = new Byte[array.length];
for (int i = 0; i < array.length; i++) {
bytes[i] = array[i];
}
return bytes;
}
网友评论