Package org.postgresql.util
Class ByteConverter
java.lang.Object
org.postgresql.util.ByteConverter
Helper methods to parse java base types from byte arrays.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private static final int
private static final int
private static final int
private static final short
private static final short
private static final short
private static final int[]
private static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic 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 integerprivate static void
digitToString
(int idx, short[] digits, CharBuffer buffer, boolean alwaysPutIt) Convert a number from binary representation to text representation.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.private static String
numberBytesToString
(short[] digits, int scale, int weight, int sign) Convert a number from binary representation to text representation.static Number
numeric
(byte[] bytes) Convert a variable length array of bytes to an integerstatic Number
numeric
(byte[] bytes, int pos, int numBytes) Convert a variable length array of bytes to an integer
-
Field Details
-
NBASE
private static final int NBASE- See Also:
-
NUMERIC_DSCALE_MASK
private static final int NUMERIC_DSCALE_MASK- See Also:
-
NUMERIC_POS
private static final short NUMERIC_POS- See Also:
-
NUMERIC_NEG
private static final short NUMERIC_NEG- See Also:
-
NUMERIC_NAN
private static final short NUMERIC_NAN- See Also:
-
DEC_DIGITS
private static final int DEC_DIGITS- See Also:
-
round_powers
private static final int[] round_powers -
SHORT_BYTES
private static final int SHORT_BYTES- See Also:
-
LONG_BYTES
private static final int LONG_BYTES- See Also:
-
-
Constructor Details
-
ByteConverter
private ByteConverter()
-
-
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
-
digitToString
Convert a number from binary representation to text representation.- Parameters:
idx
- index of the digit to be converted in the digits arraydigits
- array of shorts that can be decoded as the number Stringbuffer
- the character buffer to put the text representation inalwaysPutIt
- a flag that indicate whether or not to put the digit char even if it is zero
-
numberBytesToString
Convert a number from binary representation to text representation.- Parameters:
digits
- array of shorts that can be decoded as the number Stringscale
- the scale of the number binary representationweight
- the weight of the number binary representationsign
- the sign of the number- Returns:
- String the number as String
-
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 an integer- Parameters:
bytes
- array of bytes that can be decoded as an integerpos
- 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:
- integer
-
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.
-