org.apache.commons.io

## Class EndianUtils

- java.lang.Object
- - org.apache.commons.io.EndianUtils

    public class EndianUtils
    extends Object

Utility code for dealing with different endian systems.

Different computer architectures adopt different conventions for byte ordering. In so-called "Little Endian" architectures (eg Intel), the low-order byte is stored in memory at the lowest address, and subsequent bytes at higher addresses. For "Big Endian" architectures (eg Motorola), the situation is reversed. This class helps you solve this incompatibility.

Origin of code: Excalibur

See Also:
  `SwappedDataInputStream`

### Constructor Summary

Constructors
Constructor and Description
`EndianUtils()` Instances should NOT be constructed in standard programming.

### Method Summary

All Methods Static Methods Concrete Methods
`static double` `readSwappedDouble(byte[] data, int offset)` Reads a "double" value from a byte array at a given offset.
`static double` `readSwappedDouble(InputStream input)` Reads a "double" value from an InputStream.
`static float` `readSwappedFloat(byte[] data, int offset)` Reads a "float" value from a byte array at a given offset.
`static float` `readSwappedFloat(InputStream input)` Reads a "float" value from an InputStream.
`static int` `readSwappedInteger(byte[] data, int offset)` Reads a "int" value from a byte array at a given offset.
`static int` `readSwappedInteger(InputStream input)` Reads a "int" value from an InputStream.
`static long` `readSwappedLong(byte[] data, int offset)` Reads a "long" value from a byte array at a given offset.
`static long` `readSwappedLong(InputStream input)` Reads a "long" value from an InputStream.
`static short` `readSwappedShort(byte[] data, int offset)` Reads a "short" value from a byte array at a given offset.
`static short` `readSwappedShort(InputStream input)` Reads a "short" value from an InputStream.
`static long` `readSwappedUnsignedInteger(byte[] data, int offset)` Reads an unsigned integer (32-bit) value from a byte array at a given offset.
`static long` `readSwappedUnsignedInteger(InputStream input)` Reads a unsigned integer (32-bit) from an InputStream.
`static int` `readSwappedUnsignedShort(byte[] data, int offset)` Reads an unsigned short (16-bit) value from a byte array at a given offset.
`static int` `readSwappedUnsignedShort(InputStream input)` Reads a unsigned short (16-bit) from an InputStream.
`static double` `swapDouble(double value)` Converts a "double" value between endian systems.
`static float` `swapFloat(float value)` Converts a "float" value between endian systems.
`static int` `swapInteger(int value)` Converts a "int" value between endian systems.
`static long` `swapLong(long value)` Converts a "long" value between endian systems.
`static short` `swapShort(short value)` Converts a "short" value between endian systems.
`static void` `writeSwappedDouble(byte[] data, int offset, double value)` Writes a "double" value to a byte array at a given offset.
`static void` `writeSwappedDouble(OutputStream output, double value)` Writes a "double" value to an OutputStream.
`static void` `writeSwappedFloat(byte[] data, int offset, float value)` Writes a "float" value to a byte array at a given offset.
`static void` `writeSwappedFloat(OutputStream output, float value)` Writes a "float" value to an OutputStream.
`static void` `writeSwappedInteger(byte[] data, int offset, int value)` Writes a "int" value to a byte array at a given offset.
`static void` `writeSwappedInteger(OutputStream output, int value)` Writes a "int" value to an OutputStream.
`static void` `writeSwappedLong(byte[] data, int offset, long value)` Writes a "long" value to a byte array at a given offset.
`static void` `writeSwappedLong(OutputStream output, long value)` Writes a "long" value to an OutputStream.
`static void` `writeSwappedShort(byte[] data, int offset, short value)` Writes a "short" value to a byte array at a given offset.
`static void` `writeSwappedShort(OutputStream output, short value)` Writes a "short" value to an OutputStream.

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

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

### Constructor Detail

#### EndianUtils

    public EndianUtils()

Instances should NOT be constructed in standard programming.

### Method Detail

#### swapShort

    public static short swapShort(short value)

Converts a "short" value between endian systems.

Parameters:
  `value` - value to convert
Returns:
  the converted value

#### swapInteger

    public static int swapInteger(int value)

Converts a "int" value between endian systems.

Parameters:
  `value` - value to convert
Returns:
  the converted value

#### swapLong

    public static long swapLong(long value)

Converts a "long" value between endian systems.

Parameters:
  `value` - value to convert
Returns:
  the converted value

#### swapFloat

    public static float swapFloat(float value)

Converts a "float" value between endian systems.

Parameters:
  `value` - value to convert
Returns:
  the converted value

#### swapDouble

    public static double swapDouble(double value)

Converts a "double" value between endian systems.

Parameters:
  `value` - value to convert
Returns:
  the converted value

#### writeSwappedShort

    public static void writeSwappedShort(byte[] data,
                                         int offset,
                                         short value)

Writes a "short" value to a byte array at a given offset. The value is converted to the opposed endian system while writing.

Parameters:
  `data` - target byte array
  `offset` - starting offset in the byte array
  `value` - value to write

#### readSwappedShort

    public static short readSwappedShort(byte[] data,
                                         int offset)

Reads a "short" value from a byte array at a given offset. The value is converted to the opposed endian system while reading.

Parameters:
  `data` - source byte array
  `offset` - starting offset in the byte array
Returns:
  the value read

#### readSwappedUnsignedShort

    public static int readSwappedUnsignedShort(byte[] data,
                                               int offset)

Reads an unsigned short (16-bit) value from a byte array at a given offset. The value is converted to the opposed endian system while reading.

Parameters:
  `data` - source byte array
  `offset` - starting offset in the byte array
Returns:
  the value read

#### writeSwappedInteger

    public static void writeSwappedInteger(byte[] data,
                                           int offset,
                                           int value)

Writes a "int" value to a byte array at a given offset. The value is converted to the opposed endian system while writing.

Parameters:
  `data` - target byte array
  `offset` - starting offset in the byte array
  `value` - value to write

#### readSwappedInteger

    public static int readSwappedInteger(byte[] data,
                                         int offset)

Reads a "int" value from a byte array at a given offset. The value is converted to the opposed endian system while reading.

Parameters:
  `data` - source byte array
  `offset` - starting offset in the byte array
Returns:
  the value read

#### readSwappedUnsignedInteger

    public static long readSwappedUnsignedInteger(byte[] data,
                                                  int offset)

Reads an unsigned integer (32-bit) value from a byte array at a given offset. The value is converted to the opposed endian system while reading.

Parameters:
  `data` - source byte array
  `offset` - starting offset in the byte array
Returns:
  the value read

#### writeSwappedLong

    public static void writeSwappedLong(byte[] data,
                                        int offset,
                                        long value)

Writes a "long" value to a byte array at a given offset. The value is converted to the opposed endian system while writing.

Parameters:
  `data` - target byte array
  `offset` - starting offset in the byte array
  `value` - value to write

#### readSwappedLong

    public static long readSwappedLong(byte[] data,
                                       int offset)

Reads a "long" value from a byte array at a given offset. The value is converted to the opposed endian system while reading.

Parameters:
  `data` - source byte array
  `offset` - starting offset in the byte array
Returns:
  the value read

#### writeSwappedFloat

    public static void writeSwappedFloat(byte[] data,
                                         int offset,
                                         float value)

Writes a "float" value to a byte array at a given offset. The value is converted to the opposed endian system while writing.

Parameters:
  `data` - target byte array
  `offset` - starting offset in the byte array
  `value` - value to write

#### readSwappedFloat

    public static float readSwappedFloat(byte[] data,
                                         int offset)

Reads a "float" value from a byte array at a given offset. The value is converted to the opposed endian system while reading.

Parameters:
  `data` - source byte array
  `offset` - starting offset in the byte array
Returns:
  the value read

#### writeSwappedDouble

    public static void writeSwappedDouble(byte[] data,
                                          int offset,
                                          double value)

Writes a "double" value to a byte array at a given offset. The value is converted to the opposed endian system while writing.

Parameters:
  `data` - target byte array
  `offset` - starting offset in the byte array
  `value` - value to write

#### readSwappedDouble

    public static double readSwappedDouble(byte[] data,
                                           int offset)

Reads a "double" value from a byte array at a given offset. The value is converted to the opposed endian system while reading.

Parameters:
  `data` - source byte array
  `offset` - starting offset in the byte array
Returns:
  the value read

#### writeSwappedShort

    public static void writeSwappedShort(OutputStream output,
                                         short value)
                                  throws IOException

Writes a "short" value to an OutputStream. The value is converted to the opposed endian system while writing.

Parameters:
  `output` - target OutputStream
  `value` - value to write
Throws:
  `IOException` - in case of an I/O problem

#### readSwappedShort

    public static short readSwappedShort(InputStream input)
                                  throws IOException

Reads a "short" value from an InputStream. The value is converted to the opposed endian system while reading.

Parameters:
  `input` - source InputStream
Returns:
  the value just read
Throws:
  `IOException` - in case of an I/O problem

#### readSwappedUnsignedShort

    public static int readSwappedUnsignedShort(InputStream input)
                                        throws IOException

Reads a unsigned short (16-bit) from an InputStream. The value is converted to the opposed endian system while reading.

Parameters:
  `input` - source InputStream
Returns:
  the value just read
Throws:
  `IOException` - in case of an I/O problem

#### writeSwappedInteger

    public static void writeSwappedInteger(OutputStream output,
                                           int value)
                                    throws IOException

Writes a "int" value to an OutputStream. The value is converted to the opposed endian system while writing.

Parameters:
  `output` - target OutputStream
  `value` - value to write
Throws:
  `IOException` - in case of an I/O problem

#### readSwappedInteger

    public static int readSwappedInteger(InputStream input)
                                  throws IOException

Reads a "int" value from an InputStream. The value is converted to the opposed endian system while reading.

Parameters:
  `input` - source InputStream
Returns:
  the value just read
Throws:
  `IOException` - in case of an I/O problem

#### readSwappedUnsignedInteger

    public static long readSwappedUnsignedInteger(InputStream input)
                                           throws IOException

Reads a unsigned integer (32-bit) from an InputStream. The value is converted to the opposed endian system while reading.

Parameters:
  `input` - source InputStream
Returns:
  the value just read
Throws:
  `IOException` - in case of an I/O problem

#### writeSwappedLong

    public static void writeSwappedLong(OutputStream output,
                                        long value)
                                 throws IOException

Writes a "long" value to an OutputStream. The value is converted to the opposed endian system while writing.

Parameters:
  `output` - target OutputStream
  `value` - value to write
Throws:
  `IOException` - in case of an I/O problem

#### readSwappedLong

    public static long readSwappedLong(InputStream input)
                                throws IOException

Reads a "long" value from an InputStream. The value is converted to the opposed endian system while reading.

Parameters:
  `input` - source InputStream
Returns:
  the value just read
Throws:
  `IOException` - in case of an I/O problem

#### writeSwappedFloat

    public static void writeSwappedFloat(OutputStream output,
                                         float value)
                                  throws IOException

Writes a "float" value to an OutputStream. The value is converted to the opposed endian system while writing.

Parameters:
  `output` - target OutputStream
  `value` - value to write
Throws:
  `IOException` - in case of an I/O problem

#### readSwappedFloat

    public static float readSwappedFloat(InputStream input)
                                  throws IOException

Reads a "float" value from an InputStream. The value is converted to the opposed endian system while reading.

Parameters:
  `input` - source InputStream
Returns:
  the value just read
Throws:
  `IOException` - in case of an I/O problem

#### writeSwappedDouble

    public static void writeSwappedDouble(OutputStream output,
                                          double value)
                                   throws IOException

Writes a "double" value to an OutputStream. The value is converted to the opposed endian system while writing.

Parameters:
  `output` - target OutputStream
  `value` - value to write
Throws:
  `IOException` - in case of an I/O problem

#### readSwappedDouble

    public static double readSwappedDouble(InputStream input)
                                    throws IOException

Reads a "double" value from an InputStream. The value is converted to the opposed endian system while reading.

Parameters:
  `input` - source InputStream
Returns:
  the value just read
Throws:
  `IOException` - in case of an I/O problem