Class BitString

java.lang.Object
org.apache.calcite.util.BitString

public class BitString extends Object
String of bits.

A bit string logically consists of a set of '0' and '1' values, of a specified length. The length is preserved even if this means that the bit string has leading '0's.

You can create a bit string from a string of 0s and 1s (BitString(String, int) or createFromBitString(java.lang.String)), or from a string of hex digits (createFromHexString(java.lang.String)). You can convert it to a byte array (getAsByteArray()), to a bit string (toBitString()), or to a hex string (toHexString()). A utility method toByteArrayFromBitString(java.lang.String, int) converts a bit string directly to a byte array.

This class is immutable: once created, none of the methods modify the value.

  • Constructor Details

    • BitString

      protected BitString(String bits, int bitCount)
  • Method Details

    • createFromHexString

      public static BitString createFromHexString(String s)
      Creates a BitString representation out of a Hex String. Initial zeros are be preserved. Hex String is defined in the SQL standard to be a string with odd number of hex digits. An even number of hex digits is in the standard a Binary String.
      Parameters:
      s - a string, in hex notation
      Throws:
      NumberFormatException - if s is invalid.
    • createFromBitString

      public static BitString createFromBitString(String s)
      Creates a BitString representation out of a Bit String. Initial zeros are be preserved.
      Parameters:
      s - a string of 0s and 1s.
      Throws:
      NumberFormatException - if s is invalid.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(@Nullable Object o)
      Overrides:
      equals in class Object
    • getBitCount

      public int getBitCount()
    • getAsByteArray

      public byte[] getAsByteArray()
    • toBitString

      public String toBitString()
      Returns this bit string as a bit string, such as "10110".
    • toHexString

      public String toHexString()
      Converts this bit string to a hex string, such as "7AB".
    • toByteArrayFromBitString

      public static byte[] toByteArrayFromBitString(String bits, int bitCount)
      Converts a bit string to an array of bytes.
    • concat

      public static BitString concat(List<BitString> args)
      Concatenates some BitStrings. Concatenates all at once, not pairwise, to avoid string copies.
      Parameters:
      args - BitString[]
    • createFromBytes

      public static BitString createFromBytes(byte[] bytes)
      Creates a BitString from an array of bytes.
      Parameters:
      bytes - Bytes
      Returns:
      BitString