Package org.postgresql.util
Class ByteConverter
java.lang.Object
org.postgresql.util.ByteConverter
Helper methods to parse java base types from byte arrays.
-
Method Summary
Modifier and TypeMethodDescriptionstatic booleanbool(byte[] bytes, int idx) Parses a boolean value from the byte array.static voidbool(byte[] target, int idx, boolean value) Encodes a boolean value to the byte array.static intbytesToInt(byte[] bytes) Convert a variable length array of bytes to an integerstatic floatfloat4(byte[] bytes, int idx) Parses a float value from the byte array.static voidfloat4(byte[] target, int idx, float value) Encodes a int value to the byte array.static doublefloat8(byte[] bytes, int idx) Parses a double value from the byte array.static voidfloat8(byte[] target, int idx, double value) Encodes a int value to the byte array.static shortint2(byte[] bytes, int idx) Parses a short value from the byte array.static voidint2(byte[] target, int idx, int value) Encodes a int value to the byte array.static intint4(byte[] bytes, int idx) Parses an int value from the byte array.static voidint4(byte[] target, int idx, int value) Encodes a int value to the byte array.static longint8(byte[] bytes, int idx) Parses a long value from the byte array.static voidint8(byte[] target, int idx, long value) Encodes a long value to the byte array.static Numbernumeric(byte[] bytes) Convert a variable length array of bytes to an integerstatic Numbernumeric(byte[] bytes, int pos, int numBytes) Convert a variable length array of bytes to aNumber.static byte[]numeric(BigDecimal nbr) Converts a non-nullBigDecimalto binary format forOid.NUMERIC.
-
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
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
Convert a variable length array of bytes to aNumber. The result will always be aBigDecimalorDouble.NaN.- Parameters:
bytes- array of bytes to be decoded from binary numeric representation.pos- index of the start position of the bytes array for numbernumBytes- 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
Converts a non-nullBigDecimalto binary format forOid.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.
-