Package org.apache.tika.io
Class EndianUtils
- java.lang.Object
-
- org.apache.tika.io.EndianUtils
-
public class EndianUtils extends java.lang.ObjectGeneral Endian Related Utilties.This class provides static utility methods for input/output operations on numbers in Big and Little Endian formats.
Origin of code: Based on the version in POI
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classEndianUtils.BufferUnderrunException
-
Constructor Summary
Constructors Constructor Description EndianUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static intgetIntBE(byte[] data)Get a BE int value from the beginning of a byte arraystatic intgetIntBE(byte[] data, int offset)Get a BE int value from a byte arraystatic intgetIntLE(byte[] data)Get a LE int value from the beginning of a byte arraystatic intgetIntLE(byte[] data, int offset)Get a LE int value from a byte arraystatic longgetLongLE(byte[] data, int offset)Get a LE long value from a byte arraystatic shortgetShortBE(byte[] data)Get a BE short value from the beginning of a byte arraystatic shortgetShortBE(byte[] data, int offset)Get a BE short value from a byte arraystatic shortgetShortLE(byte[] data)Get a LE short value from the beginning of a byte arraystatic shortgetShortLE(byte[] data, int offset)Get a LE short value from a byte arraystatic shortgetUByte(byte[] data, int offset)get the unsigned value of a byte.static longgetUIntBE(byte[] data)Get a BE unsigned int value from a byte arraystatic longgetUIntBE(byte[] data, int offset)Get a BE unsigned int value from a byte arraystatic longgetUIntLE(byte[] data)Get a LE unsigned int value from a byte arraystatic longgetUIntLE(byte[] data, int offset)Get a LE unsigned int value from a byte arraystatic intgetUShortBE(byte[] data)Get a BE unsigned short value from the beginning of a byte arraystatic intgetUShortBE(byte[] data, int offset)Get a BE unsigned short value from a byte arraystatic intgetUShortLE(byte[] data)Get a LE unsigned short value from the beginning of a byte arraystatic intgetUShortLE(byte[] data, int offset)Get a LE unsigned short value from a byte arraystatic intreadIntBE(java.io.InputStream stream)Get a BE int value from an InputStreamstatic intreadIntLE(java.io.InputStream stream)Get a LE int value from an InputStreamstatic longreadLongBE(java.io.InputStream stream)Get a NE long value from an InputStreamstatic longreadLongLE(java.io.InputStream stream)Get a LE long value from an InputStreamstatic shortreadShortBE(java.io.InputStream stream)Get a BE short value from an InputStreamstatic shortreadShortLE(java.io.InputStream stream)Get a LE short value from an InputStreamstatic longreadUE7(java.io.InputStream stream)Gets the integer value that is stored in UTF-8 like fashion, in Big Endian but with the high bit on each number indicating if it continues or notstatic longreadUIntBE(java.io.InputStream stream)Get a BE unsigned int value from an InputStreamstatic longreadUIntLE(java.io.InputStream stream)Get a LE unsigned int value from an InputStreamstatic intreadUShortBE(java.io.InputStream stream)static intreadUShortLE(java.io.InputStream stream)static intubyteToInt(byte b)Convert an 'unsigned' byte to an integer.
-
-
-
Method Detail
-
readShortLE
public static short readShortLE(java.io.InputStream stream) throws java.io.IOException, EndianUtils.BufferUnderrunExceptionGet a LE short value from an InputStream- Parameters:
stream- the InputStream from which the short is to be read- Returns:
- the short (16-bit) value
- Throws:
java.io.IOException- will be propagated back to the callerEndianUtils.BufferUnderrunException- if the stream cannot provide enough bytes
-
readShortBE
public static short readShortBE(java.io.InputStream stream) throws java.io.IOException, EndianUtils.BufferUnderrunExceptionGet a BE short value from an InputStream- Parameters:
stream- the InputStream from which the short is to be read- Returns:
- the short (16-bit) value
- Throws:
java.io.IOException- will be propagated back to the callerEndianUtils.BufferUnderrunException- if the stream cannot provide enough bytes
-
readUShortLE
public static int readUShortLE(java.io.InputStream stream) throws java.io.IOException, EndianUtils.BufferUnderrunException- Throws:
java.io.IOExceptionEndianUtils.BufferUnderrunException
-
readUShortBE
public static int readUShortBE(java.io.InputStream stream) throws java.io.IOException, EndianUtils.BufferUnderrunException- Throws:
java.io.IOExceptionEndianUtils.BufferUnderrunException
-
readUIntLE
public static long readUIntLE(java.io.InputStream stream) throws java.io.IOException, EndianUtils.BufferUnderrunExceptionGet a LE unsigned int value from an InputStream- Parameters:
stream- the InputStream from which the int is to be read- Returns:
- the int (32-bit) value
- Throws:
java.io.IOException- will be propagated back to the callerEndianUtils.BufferUnderrunException- if the stream cannot provide enough bytes
-
readUIntBE
public static long readUIntBE(java.io.InputStream stream) throws java.io.IOException, EndianUtils.BufferUnderrunExceptionGet a BE unsigned int value from an InputStream- Parameters:
stream- the InputStream from which the int is to be read- Returns:
- the int (32-bit) value
- Throws:
java.io.IOException- will be propagated back to the callerEndianUtils.BufferUnderrunException- if the stream cannot provide enough bytes
-
readIntLE
public static int readIntLE(java.io.InputStream stream) throws java.io.IOException, EndianUtils.BufferUnderrunExceptionGet a LE int value from an InputStream- Parameters:
stream- the InputStream from which the int is to be read- Returns:
- the int (32-bit) value
- Throws:
java.io.IOException- will be propagated back to the callerEndianUtils.BufferUnderrunException- if the stream cannot provide enough bytes
-
readIntBE
public static int readIntBE(java.io.InputStream stream) throws java.io.IOException, EndianUtils.BufferUnderrunExceptionGet a BE int value from an InputStream- Parameters:
stream- the InputStream from which the int is to be read- Returns:
- the int (32-bit) value
- Throws:
java.io.IOException- will be propagated back to the callerEndianUtils.BufferUnderrunException- if the stream cannot provide enough bytes
-
readLongLE
public static long readLongLE(java.io.InputStream stream) throws java.io.IOException, EndianUtils.BufferUnderrunExceptionGet a LE long value from an InputStream- Parameters:
stream- the InputStream from which the long is to be read- Returns:
- the long (64-bit) value
- Throws:
java.io.IOException- will be propagated back to the callerEndianUtils.BufferUnderrunException- if the stream cannot provide enough bytes
-
readLongBE
public static long readLongBE(java.io.InputStream stream) throws java.io.IOException, EndianUtils.BufferUnderrunExceptionGet a NE long value from an InputStream- Parameters:
stream- the InputStream from which the long is to be read- Returns:
- the long (64-bit) value
- Throws:
java.io.IOException- will be propagated back to the callerEndianUtils.BufferUnderrunException- if the stream cannot provide enough bytes
-
readUE7
public static long readUE7(java.io.InputStream stream) throws java.io.IOExceptionGets the integer value that is stored in UTF-8 like fashion, in Big Endian but with the high bit on each number indicating if it continues or not- Throws:
java.io.IOException
-
getShortLE
public static short getShortLE(byte[] data)
Get a LE short value from the beginning of a byte array- Parameters:
data- the byte array- Returns:
- the short (16-bit) value
-
getShortLE
public static short getShortLE(byte[] data, int offset)Get a LE short value from a byte array- Parameters:
data- the byte arrayoffset- a starting offset into the byte array- Returns:
- the short (16-bit) value
-
getUShortLE
public static int getUShortLE(byte[] data)
Get a LE unsigned short value from the beginning of a byte array- Parameters:
data- the byte array- Returns:
- the unsigned short (16-bit) value in an int
-
getUShortLE
public static int getUShortLE(byte[] data, int offset)Get a LE unsigned short value from a byte array- Parameters:
data- the byte arrayoffset- a starting offset into the byte array- Returns:
- the unsigned short (16-bit) value in an integer
-
getShortBE
public static short getShortBE(byte[] data)
Get a BE short value from the beginning of a byte array- Parameters:
data- the byte array- Returns:
- the short (16-bit) value
-
getShortBE
public static short getShortBE(byte[] data, int offset)Get a BE short value from a byte array- Parameters:
data- the byte arrayoffset- a starting offset into the byte array- Returns:
- the short (16-bit) value
-
getUShortBE
public static int getUShortBE(byte[] data)
Get a BE unsigned short value from the beginning of a byte array- Parameters:
data- the byte array- Returns:
- the unsigned short (16-bit) value in an int
-
getUShortBE
public static int getUShortBE(byte[] data, int offset)Get a BE unsigned short value from a byte array- Parameters:
data- the byte arrayoffset- a starting offset into the byte array- Returns:
- the unsigned short (16-bit) value in an integer
-
getIntLE
public static int getIntLE(byte[] data)
Get a LE int value from the beginning of a byte array- Parameters:
data- the byte array- Returns:
- the int (32-bit) value
-
getIntLE
public static int getIntLE(byte[] data, int offset)Get a LE int value from a byte array- Parameters:
data- the byte arrayoffset- a starting offset into the byte array- Returns:
- the int (32-bit) value
-
getIntBE
public static int getIntBE(byte[] data)
Get a BE int value from the beginning of a byte array- Parameters:
data- the byte array- Returns:
- the int (32-bit) value
-
getIntBE
public static int getIntBE(byte[] data, int offset)Get a BE int value from a byte array- Parameters:
data- the byte arrayoffset- a starting offset into the byte array- Returns:
- the int (32-bit) value
-
getUIntLE
public static long getUIntLE(byte[] data)
Get a LE unsigned int value from a byte array- Parameters:
data- the byte array- Returns:
- the unsigned int (32-bit) value in a long
-
getUIntLE
public static long getUIntLE(byte[] data, int offset)Get a LE unsigned int value from a byte array- Parameters:
data- the byte arrayoffset- a starting offset into the byte array- Returns:
- the unsigned int (32-bit) value in a long
-
getUIntBE
public static long getUIntBE(byte[] data)
Get a BE unsigned int value from a byte array- Parameters:
data- the byte array- Returns:
- the unsigned int (32-bit) value in a long
-
getUIntBE
public static long getUIntBE(byte[] data, int offset)Get a BE unsigned int value from a byte array- Parameters:
data- the byte arrayoffset- a starting offset into the byte array- Returns:
- the unsigned int (32-bit) value in a long
-
getLongLE
public static long getLongLE(byte[] data, int offset)Get a LE long value from a byte array- Parameters:
data- the byte arrayoffset- a starting offset into the byte array- Returns:
- the long (64-bit) value
-
ubyteToInt
public static int ubyteToInt(byte b)
Convert an 'unsigned' byte to an integer. ie, don't carry across the sign.- Parameters:
b- Description of the Parameter- Returns:
- Description of the Return Value
-
getUByte
public static short getUByte(byte[] data, int offset)get the unsigned value of a byte.- Parameters:
data- the byte array.offset- a starting offset into the byte array.- Returns:
- the unsigned value of the byte as a 16 bit short
-
-