Package org.postgresql.util

# Class ByteConverter

java.lang.Object
org.postgresql.util.ByteConverter

public class ByteConverter extends Object
Helper methods to parse java base types from byte arrays.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static boolean`
  `bool(byte[] bytes, int idx)`
  Parses a boolean value from the byte array.
  `static void`
  `bool(byte[] target, int idx, boolean value)`
  Encodes a boolean value to the byte array.
  `static int`
  `bytesToInt(byte[] bytes)`
  Convert a variable length array of bytes to an integer
  `static float`
  `float4(byte[] bytes, int idx)`
  Parses a float value from the byte array.
  `static void`
  `float4(byte[] target, int idx, float value)`
  Encodes a int value to the byte array.
  `static double`
  `float8(byte[] bytes, int idx)`
  Parses a double value from the byte array.
  `static void`
  `float8(byte[] target, int idx, double value)`
  Encodes a int value to the byte array.
  `static short`
  `int2(byte[] bytes, int idx)`
  Parses a short value from the byte array.
  `static void`
  `int2(byte[] target, int idx, int value)`
  Encodes a int value to the byte array.
  `static int`
  `int4(byte[] bytes, int idx)`
  Parses an int value from the byte array.
  `static void`
  `int4(byte[] target, int idx, int value)`
  Encodes a int value to the byte array.
  `static long`
  `int8(byte[] bytes, int idx)`
  Parses a long value from the byte array.
  `static void`
  `int8(byte[] target, int idx, long value)`
  Encodes a long value to the byte array.
  `static Number`
  `numeric(byte[] bytes)`
  Convert a variable length array of bytes to an integer
  `static Number`
  `numeric(byte[] bytes, int pos, int numBytes)`
  Convert a variable length array of bytes to a `Number`.
  `static byte[]`
  `numeric(BigDecimal nbr)`
  Converts a non-null `BigDecimal` to binary format for `Oid.NUMERIC`.

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

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

- ## Method Details

  - ### bytesToInt

    public static int bytesToInt(byte[] bytes)
    Convert a variable length array of bytes to an integer
    Parameters:
      `bytes` - array of bytes that can be decoded as an integer
    Returns:
      integer

  - ### numeric

    public static Number numeric(byte[] bytes)
    Convert a variable length array of bytes to an integer
    Parameters:
      `bytes` - array of bytes that can be decoded as an integer
    Returns:
      integer

  - ### numeric

    public static Number numeric(byte[] bytes, int pos, int numBytes)
    Convert a variable length array of bytes to a `Number`. The result will always be a `BigDecimal` or a special `Double` value.
    Parameters:
      `bytes` - array of bytes to be decoded from binary numeric representation.
      `pos` - index of the start position of the bytes array for number
      `numBytes` - number of bytes to use, length is already encoded in the binary format but this is used for double checking
    Returns:
      BigDecimal representation of numeric or one of the special double values `Double.NaN`, `Double.NEGATIVE_INFINITY` and `Double.POSITIVE_INFINITY`.

  - ### numeric

    public static byte[] numeric(BigDecimal nbr)
    Converts a non-null `BigDecimal` to binary format for `Oid.NUMERIC`.
    Parameters:
      `nbr` - The instance to represent in binary.
    Returns:
      The binary representation of nbr.

  - ### int8

    public static long int8(byte[] bytes, int idx)
    Parses a long value from the byte array.
    Parameters:
      `bytes` - The byte array to parse.
      `idx` - The starting index of the parse in the byte array.
    Returns:
      parsed long value.

  - ### int4

    public static int int4(byte[] bytes, int idx)
    Parses an int value from the byte array.
    Parameters:
      `bytes` - The byte array to parse.
      `idx` - The starting index of the parse in the byte array.
    Returns:
      parsed int value.

  - ### int2

    public static short int2(byte[] bytes, int idx)
    Parses a short value from the byte array.
    Parameters:
      `bytes` - The byte array to parse.
      `idx` - The starting index of the parse in the byte array.
    Returns:
      parsed short value.

  - ### bool

    public static boolean bool(byte[] bytes, int idx)
    Parses a boolean value from the byte array.
    Parameters:
      `bytes` - The byte array to parse.
      `idx` - The starting index to read from bytes.
    Returns:
      parsed boolean value.

  - ### float4

    public static float float4(byte[] bytes, int idx)
    Parses a float value from the byte array.
    Parameters:
      `bytes` - The byte array to parse.
      `idx` - The starting index of the parse in the byte array.
    Returns:
      parsed float value.

  - ### float8

    public static double float8(byte[] bytes, int idx)
    Parses a double value from the byte array.
    Parameters:
      `bytes` - The byte array to parse.
      `idx` - The starting index of the parse in the byte array.
    Returns:
      parsed double value.

  - ### int8

    public static void int8(byte[] target, int idx, long value)
    Encodes a long value to the byte array.
    Parameters:
      `target` - The byte array to encode to.
      `idx` - The starting index in the byte array.
      `value` - The value to encode.

  - ### int4

    public static void int4(byte[] target, int idx, int value)
    Encodes a int value to the byte array.
    Parameters:
      `target` - The byte array to encode to.
      `idx` - The starting index in the byte array.
      `value` - The value to encode.

  - ### int2

    public static void int2(byte[] target, int idx, int value)
    Encodes a int value to the byte array.
    Parameters:
      `target` - The byte array to encode to.
      `idx` - The starting index in the byte array.
      `value` - The value to encode.

  - ### bool

    public static void bool(byte[] target, int idx, boolean value)
    Encodes a boolean value to the byte array.
    Parameters:
      `target` - The byte array to encode to.
      `idx` - The starting index in the byte array.
      `value` - The value to encode.

  - ### float4

    public static void float4(byte[] target, int idx, float value)
    Encodes a int value to the byte array.
    Parameters:
      `target` - The byte array to encode to.
      `idx` - The starting index in the byte array.
      `value` - The value to encode.

  - ### float8

    public static void float8(byte[] target, int idx, double value)
    Encodes a int value to the byte array.
    Parameters:
      `target` - The byte array to encode to.
      `idx` - The starting index in the byte array.
      `value` - The value to encode.