added reverse byte order function
This commit is contained in:
parent
542b242c41
commit
0495d3289b
2 changed files with 23 additions and 0 deletions
|
|
@ -95,6 +95,21 @@ public class ByteUtil {
|
|||
return dest;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new byte array with reversed byte ordering
|
||||
* (LittleEndian -> BigEndian, BigEndian -> LittleEndian)
|
||||
*
|
||||
* @param data is the byte array that will be reversed.
|
||||
* @return a new byte array that will have the same data but in reverse byte order
|
||||
*/
|
||||
public static byte[] getReverseByteOrder(byte[] data){
|
||||
byte[] dest = new byte[data.length];
|
||||
if (data.length > 0)
|
||||
for (int i=0; i<data.length; ++i)
|
||||
dest[dest.length-1-i] = data[i];
|
||||
return dest;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a byte bitmask
|
||||
*
|
||||
|
|
|
|||
|
|
@ -58,4 +58,12 @@ public class ByteUtilTest {
|
|||
assertArrayEquals(new byte[]{0x00,0x01}, ByteUtil.getBits(new byte[]{0x00,0x01}, 9));
|
||||
assertArrayEquals(new byte[]{0x00,0x01}, ByteUtil.getBits(new byte[]{0x00,0x11}, 9));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getReverseByteOrder(){
|
||||
assertArrayEquals(new byte[]{}, ByteUtil.getReverseByteOrder(new byte[]{}));
|
||||
assertArrayEquals(new byte[]{0x11}, ByteUtil.getReverseByteOrder(new byte[]{0x11}));
|
||||
assertArrayEquals(new byte[]{0x22,0x11}, ByteUtil.getReverseByteOrder(new byte[]{0x11,0x22}));
|
||||
assertArrayEquals(new byte[]{0x44,0x33,0x22,0x11}, ByteUtil.getReverseByteOrder(new byte[]{0x11,0x22,0x33,0x44}));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue