Module org.firebirdsql.jaybird
Package org.firebirdsql.jaybird.util

# Class ByteArrayHelper

java.lang.Object
org.firebirdsql.jaybird.util.ByteArrayHelper

public final class ByteArrayHelper extends Object
Helper methods for byte arrays.

Since:
  3.0
Author:
  Mark Rotteveel

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static byte[]`
  `emptyByteArray()`
  `static byte[]`
  `fromBase64String(String base64)`
  Decodes a base64 encoded string to a byte array.
  `static byte[]`
  `fromBase64urlString(String base64url)`
  Decodes a base64url encoded string to a byte array.
  `static byte[]`
  `fromHexString(String hexString)`
  Converts the provided hexadecimal string to a byte array.
  `static int`
  `indexOf(byte[] array, byte b)`
  Returns the index of the first occurrence of `b` in `array`.
  `static String`
  `toHexString(byte[] bytes)`
  Converts the provided byte array to a hexadecimal string.
  `static void`
  `validateBufferLength(byte[] b, int off, int len)`
  Validates requested offset (`off`) and length (`len`) against the array (`b`).

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### toHexString

    public static String toHexString(byte[] bytes)
    Converts the provided byte array to a hexadecimal string.
    Parameters:
      `bytes` - byte array (not `null`
    Returns:
      String with the content of the byte array in hexadecimal.

  - ### fromHexString

    public static byte[] fromHexString(String hexString)
    Converts the provided hexadecimal string to a byte array.
    Parameters:
      `hexString` - Hexadecimal string
    Returns:
      byte array
    Since:
      4.0

  - ### fromBase64String

    public static byte[] fromBase64String(String base64)
    Decodes a base64 encoded string to a byte array.
    Parameters:
      `base64` - Base64 encoded data
    Returns:
      byte array after decoding

  - ### fromBase64urlString

    public static byte[] fromBase64urlString(String base64url)
    Decodes a base64url encoded string to a byte array.

    Base64url applies the "URL and Filename safe" Base 64 Alphabet.

    Parameters:
      `base64url` - Base64url encoded data
    Returns:
      byte array after decoding
    Since:
      5

  - ### indexOf

    public static int indexOf(byte[] array, byte b)
    Returns the index of the first occurrence of `b` in `array`.
    Parameters:
      `array` - Array to search
      `b` - byte to find
    Returns:
      the index of the first occurrence of `b`, or `-1` if `b` is not in the array
    Since:
      5

  - ### emptyByteArray

    public static byte[] emptyByteArray()
    Returns:
      an empty array (length == 0)

  - ### validateBufferLength

    public static void validateBufferLength(byte[] b, int off, int len) throws SQLException
    Validates requested offset (`off`) and length (`len`) against the array (`b`).
    Parameters:
      `b` - array
      `off` - position in array
      `len` - length from `off`
    Throws:
      `SQLException` - if `off < 0`, `len < 0`, or if `off + len > b.length`
    Since:
      6.0.2