com.healthmarketscience.jackcess
Class ByteUtil

java.lang.Object
  extended by com.healthmarketscience.jackcess.ByteUtil

public final class ByteUtil
extends Object

Byte manipulation and display utilities

Author:
Tim McCune

Method Summary
static int asUnsignedByte(byte b)
           
static int asUnsignedShort(short s)
           
static void clearRange(ByteBuffer buffer, int start, int end)
          Sets all bits in the given byte range to 0.
static void fillRange(ByteBuffer buffer, int start, int end)
          Sets all bits in the given byte range to 1.
static int get3ByteInt(ByteBuffer buffer)
          Read a 3 byte int from a buffer
static int get3ByteInt(ByteBuffer buffer, ByteOrder order)
          Read a 3 byte int from a buffer
static int get3ByteInt(ByteBuffer buffer, int offset)
          Read a 3 byte int from a buffer
static int get3ByteInt(ByteBuffer buffer, int offset, ByteOrder order)
          Read a 3 byte int from a buffer
static int getInt(ByteBuffer buffer, ByteOrder order)
           
static int getInt(ByteBuffer buffer, int offset, ByteOrder order)
           
static int getUnsignedByte(ByteBuffer buffer)
          Read an unsigned byte from a buffer
static int getUnsignedByte(ByteBuffer buffer, int offset)
          Read an unsigned byte from a buffer
static int getUnsignedShort(ByteBuffer buffer)
          Read an unsigned short from a buffer
static int getUnsignedShort(ByteBuffer buffer, int offset)
          Read an unsigned short from a buffer
static boolean matchesRange(ByteBuffer buffer, int start, byte[] pattern)
          Matches a pattern of bytes against the given buffer starting at the given offset.
static void put3ByteInt(ByteBuffer buffer, int val)
          Put an integer into the given buffer at the given offset as a 3-byte integer.
static void put3ByteInt(ByteBuffer buffer, int val, ByteOrder order)
          Put an integer into the given buffer at the given offset as a 3-byte integer.
static void put3ByteInt(ByteBuffer buffer, int val, int offset, ByteOrder order)
          Put an integer into the given buffer at the given offset as a 3-byte integer.
static void putInt(ByteBuffer buffer, int val, ByteOrder order)
          Writes an int at the current position in the given buffer, using the given ByteOrder
static void putInt(ByteBuffer buffer, int val, int offset, ByteOrder order)
          Writes an int at the given position in the given buffer, using the given ByteOrder
static void putRange(ByteBuffer buffer, int start, int end, byte b)
          Sets all bytes in the given byte range to the given byte value.
static void toHexFile(String fileName, ByteBuffer buffer, int offset, int size)
          Writes a chunk of data to a file in pretty printed hexidecimal.
static String toHexString(byte[] array)
          Convert a byte array to a hexadecimal string for display
static String toHexString(ByteBuffer buffer, int size)
          Convert a byte buffer to a hexadecimal string for display
static String toHexString(ByteBuffer buffer, int offset, int size)
          Convert a byte buffer to a hexadecimal string for display
static String toHexString(ByteBuffer buffer, int offset, int size, boolean formatted)
          Convert a byte buffer to a hexadecimal string for display
static void writeHexString(ByteBuffer buffer, String hexStr)
          Writes a sequence of hexidecimal values into the given buffer, where every two characters represent one byte value.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

put3ByteInt

public static void put3ByteInt(ByteBuffer buffer,
                               int val)
Put an integer into the given buffer at the given offset as a 3-byte integer.

Parameters:
buffer - buffer into which to insert the int
val - Int to convert

put3ByteInt

public static void put3ByteInt(ByteBuffer buffer,
                               int val,
                               ByteOrder order)
Put an integer into the given buffer at the given offset as a 3-byte integer.

Parameters:
buffer - buffer into which to insert the int
val - Int to convert
order - the order to insert the bytes of the int

put3ByteInt

public static void put3ByteInt(ByteBuffer buffer,
                               int val,
                               int offset,
                               ByteOrder order)
Put an integer into the given buffer at the given offset as a 3-byte integer.

Parameters:
buffer - buffer into which to insert the int
val - Int to convert
offset - offset at which to insert the int
order - the order to insert the bytes of the int

get3ByteInt

public static int get3ByteInt(ByteBuffer buffer)
Read a 3 byte int from a buffer

Parameters:
buffer - Buffer containing the bytes
Returns:
The int

get3ByteInt

public static int get3ByteInt(ByteBuffer buffer,
                              ByteOrder order)
Read a 3 byte int from a buffer

Parameters:
buffer - Buffer containing the bytes
order - the order of the bytes of the int
Returns:
The int

get3ByteInt

public static int get3ByteInt(ByteBuffer buffer,
                              int offset)
Read a 3 byte int from a buffer

Parameters:
buffer - Buffer containing the bytes
offset - Offset at which to start reading the int
Returns:
The int

get3ByteInt

public static int get3ByteInt(ByteBuffer buffer,
                              int offset,
                              ByteOrder order)
Read a 3 byte int from a buffer

Parameters:
buffer - Buffer containing the bytes
offset - Offset at which to start reading the int
order - the order of the bytes of the int
Returns:
The int

getUnsignedByte

public static int getUnsignedByte(ByteBuffer buffer)
Read an unsigned byte from a buffer

Parameters:
buffer - Buffer containing the bytes
Returns:
The unsigned byte as an int

getUnsignedByte

public static int getUnsignedByte(ByteBuffer buffer,
                                  int offset)
Read an unsigned byte from a buffer

Parameters:
buffer - Buffer containing the bytes
offset - Offset at which to read the byte
Returns:
The unsigned byte as an int

getUnsignedShort

public static int getUnsignedShort(ByteBuffer buffer)
Read an unsigned short from a buffer

Parameters:
buffer - Buffer containing the short
Returns:
The unsigned short as an int

getUnsignedShort

public static int getUnsignedShort(ByteBuffer buffer,
                                   int offset)
Read an unsigned short from a buffer

Parameters:
buffer - Buffer containing the short
offset - Offset at which to read the short
Returns:
The unsigned short as an int

getInt

public static int getInt(ByteBuffer buffer,
                         ByteOrder order)
Parameters:
buffer - Buffer containing the bytes
order - the order of the bytes of the int
Returns:
an int from the current position in the given buffer, read using the given ByteOrder

getInt

public static int getInt(ByteBuffer buffer,
                         int offset,
                         ByteOrder order)
Parameters:
buffer - Buffer containing the bytes
offset - Offset at which to start reading the int
order - the order of the bytes of the int
Returns:
an int from the given position in the given buffer, read using the given ByteOrder

putInt

public static void putInt(ByteBuffer buffer,
                          int val,
                          ByteOrder order)
Writes an int at the current position in the given buffer, using the given ByteOrder

Parameters:
buffer - buffer into which to insert the int
val - Int to insert
order - the order to insert the bytes of the int

putInt

public static void putInt(ByteBuffer buffer,
                          int val,
                          int offset,
                          ByteOrder order)
Writes an int at the given position in the given buffer, using the given ByteOrder

Parameters:
buffer - buffer into which to insert the int
val - Int to insert
offset - offset at which to insert the int
order - the order to insert the bytes of the int

clearRange

public static void clearRange(ByteBuffer buffer,
                              int start,
                              int end)
Sets all bits in the given byte range to 0.


fillRange

public static void fillRange(ByteBuffer buffer,
                             int start,
                             int end)
Sets all bits in the given byte range to 1.


putRange

public static void putRange(ByteBuffer buffer,
                            int start,
                            int end,
                            byte b)
Sets all bytes in the given byte range to the given byte value.


matchesRange

public static boolean matchesRange(ByteBuffer buffer,
                                   int start,
                                   byte[] pattern)
Matches a pattern of bytes against the given buffer starting at the given offset.


toHexString

public static String toHexString(ByteBuffer buffer,
                                 int size)
Convert a byte buffer to a hexadecimal string for display

Parameters:
buffer - Buffer to display, starting at offset 0
size - Number of bytes to read from the buffer
Returns:
The display String

toHexString

public static String toHexString(byte[] array)
Convert a byte array to a hexadecimal string for display

Parameters:
array - byte array to display, starting at offset 0
Returns:
The display String

toHexString

public static String toHexString(ByteBuffer buffer,
                                 int offset,
                                 int size)
Convert a byte buffer to a hexadecimal string for display

Parameters:
buffer - Buffer to display, starting at offset 0
offset - Offset at which to start reading the buffer
size - Number of bytes to read from the buffer
Returns:
The display String

toHexString

public static String toHexString(ByteBuffer buffer,
                                 int offset,
                                 int size,
                                 boolean formatted)
Convert a byte buffer to a hexadecimal string for display

Parameters:
buffer - Buffer to display, starting at offset 0
offset - Offset at which to start reading the buffer
size - Number of bytes to read from the buffer
formatted - flag indicating if formatting is required
Returns:
The display String

writeHexString

public static void writeHexString(ByteBuffer buffer,
                                  String hexStr)
                           throws IOException
Writes a sequence of hexidecimal values into the given buffer, where every two characters represent one byte value.

Throws:
IOException

toHexFile

public static void toHexFile(String fileName,
                             ByteBuffer buffer,
                             int offset,
                             int size)
                      throws IOException
Writes a chunk of data to a file in pretty printed hexidecimal.

Throws:
IOException

asUnsignedByte

public static int asUnsignedByte(byte b)
Returns:
the byte value converted to an unsigned int value

asUnsignedShort

public static int asUnsignedShort(short s)
Returns:
the short value converted to an unsigned int value


Copyright ? 2005-2008 Health Market Science. All Rights Reserved.