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 `Double.NaN`.

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 `Double.NaN`.

### 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.