Class ByteConverter

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

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

    Fields
    Modifier and Type
    Field
    Description
    private 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
    Modifier
    Constructor
    Description
    private
     
  • 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
    private 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 integer
    static Number
    numeric(byte[] bytes, int pos, int numBytes)
    Convert a variable length array of bytes to an integer

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • 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

      private static void digitToString(int idx, short[] digits, CharBuffer buffer, boolean alwaysPutIt)
      Convert a number from binary representation to text representation.
      Parameters:
      idx - index of the digit to be converted in the digits array
      digits - array of shorts that can be decoded as the number String
      buffer - the character buffer to put the text representation in
      alwaysPutIt - a flag that indicate whether or not to put the digit char even if it is zero
    • numberBytesToString

      private static String numberBytesToString(short[] digits, int scale, int weight, int sign)
      Convert a number from binary representation to text representation.
      Parameters:
      digits - array of shorts that can be decoded as the number String
      scale - the scale of the number binary representation
      weight - the weight of the number binary representation
      sign - the sign of the number
      Returns:
      String the number as String
    • 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 an integer
      Parameters:
      bytes - array of bytes that can be decoded as an integer
      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:
      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.