Package com.pixelmed.utils

# Class ByteArray

java.lang.Object
com.pixelmed.utils.ByteArray

public class ByteArray extends Object

Various static methods helpful for manipulating arrays of bytes and extracting values from them.

## Method Summary

Modifier and Type
Method
Description
`static final int`
`bigEndianToUnsignedInt(byte[] b)`
Extract an unsigned big endian integer from an entire byte array.
`static final int`
`bigEndianToUnsignedInt(byte[] b, int offset, int length)`
Extract an unsigned big endian integer from a byte array.
`static final byte[]`
`concatenate(byte[] src1, byte[] src2)`
Concatenate the entire contents of two byte arrays into a new byte array.
`static final byte[]`
`concatenate(byte[] src1, int offset1, int length1, byte[] src2, int offset2, int length2)`
Concatenate portions of two byte arrays into a new byte array.
`static final byte[]`
`extractBytes(byte[] src, int offset, int length)`
Extract a portion of a byte array into a new byte array.
`static final byte[]`
`intToBigEndianArray(int value, int length)`
Extract an integer into a big endian byte array.
`static final byte[]`
`intToLittleEndianArray(int value, int length)`
Extract an integer into a little endian byte array.
`static void`
`main(String[] arg)`
Testing.
`static final byte[]`
`readFully(String filename)`
`static final void`
`swapEndianness(byte[] src, int byteCount, int wordLength)`
Swap the byte order (endianness) of fixed length words within a byte array.

### Methods inherited from class java.lang.Object

`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### readFully

public static final byte[] readFully(String filename) throws IOException

Throws:
  `IOException`

### bigEndianToUnsignedInt

public static final int bigEndianToUnsignedInt(byte[] b, int offset, int length)

Extract an unsigned big endian integer from a byte array.

Parameters:
  `b` - the byte array containing the big endian encoded integer
  `offset` - the offset of the start of the integer in the byte array
  `length` - the number of bytes that the integer occupies in the byte array
Returns:
  the unsigned integer value

### bigEndianToUnsignedInt

public static final int bigEndianToUnsignedInt(byte[] b)

Extract an unsigned big endian integer from an entire byte array.

Parameters:
  `b` - the byte array which is the big endian encoded integer
Returns:
  the unsigned integer value

### intToBigEndianArray

public static final byte[] intToBigEndianArray(int value, int length)

Extract an integer into a big endian byte array.

Parameters:
  `value` - the integer value
  `length` - the length of the byte array
Returns:
  the byte array which is the big endian encoded integer

### intToLittleEndianArray

public static final byte[] intToLittleEndianArray(int value, int length)

Extract an integer into a little endian byte array.

Parameters:
  `value` - the integer value
  `length` - the length of the byte array
Returns:
  the byte array which is the little endian encoded integer

### extractBytes

public static final byte[] extractBytes(byte[] src, int offset, int length)

Extract a portion of a byte array into a new byte array.

Parameters:
  `src` - the source byte array
  `offset` - the offset of the bytes to be extracted
  `length` - the number of bytes to be extracted
Returns:
  a new byte array containing the extracted bytes

### concatenate

public static final byte[] concatenate(byte[] src1, int offset1, int length1, byte[] src2, int offset2, int length2)

Concatenate portions of two byte arrays into a new byte array.

Parameters:
  `src1` - the first byte array
  `offset1` - the offset of the bytes to be extracted from the first byte array
  `length1` - the number of bytes to be extracted from the first byte array
  `src2` - the second byte array
  `offset2` - the offset of the bytes to be extracted from the second byte array
  `length2` - the number of bytes to be extracted from the second byte array
Returns:
  a new byte array containing the bytes extracted from the first array followed by the bytes extracted from the second array

### concatenate

public static final byte[] concatenate(byte[] src1, byte[] src2)

Concatenate the entire contents of two byte arrays into a new byte array.

Parameters:
  `src1` - the first byte array
  `src2` - the second byte array
Returns:
  a new byte array containing the bytes extracted from the first array followed by the bytes extracted from the second array

### swapEndianness

public static final void swapEndianness(byte[] src, int byteCount, int wordLength)

Swap the byte order (endianness) of fixed length words within a byte array.

Parameters:
  `src` - the byte array (swapped in place)
  `byteCount` - the number of bytes in the array to swap
  `wordLength` - the length in bytes of each word

### main

public static void main(String[] arg)

Testing.

Parameters:
  `arg` - ignored