com.pixelmed.utils
Class ByteArray

java.lang.Object
  extended by 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
static int bigEndianToUnsignedInt(byte[] b)
          Extract an unsigned big endian integer from an entire byte array.
static int bigEndianToUnsignedInt(byte[] b, int offset, int length)
          Extract an unsigned big endian integer from a byte array.
static byte[] concatenate(byte[] src1, byte[] src2)
          Concatenate the entire contents of two byte arrays into a new byte array.
static 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 byte[] extractBytes(byte[] src, int offset, int length)
          Extract a portion of a byte array into a new byte array.
static byte[] intToBigEndianArray(int value, int length)
          Extract an integer into a big endian byte array.
static byte[] intToLittleEndianArray(int value, int length)
          Extract an integer into a little endian byte array.
static void main(String[] arg)
          Testing.
static byte[] readFully(String filename)
           
static 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, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

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