Class ByteArrays

java.lang.Object
org.pcap4j.util.ByteArrays

public final class ByteArrays extends Object
Since:
pcap4j 0.9.1
  • Field Details

    • BYTE_SIZE_IN_BYTES

      public static final int BYTE_SIZE_IN_BYTES
      See Also:
    • SHORT_SIZE_IN_BYTES

      public static final int SHORT_SIZE_IN_BYTES
      See Also:
    • INT_SIZE_IN_BYTES

      public static final int INT_SIZE_IN_BYTES
      See Also:
    • LONG_SIZE_IN_BYTES

      public static final int LONG_SIZE_IN_BYTES
      See Also:
    • INET4_ADDRESS_SIZE_IN_BYTES

      public static final int INET4_ADDRESS_SIZE_IN_BYTES
      See Also:
    • INET6_ADDRESS_SIZE_IN_BYTES

      public static final int INET6_ADDRESS_SIZE_IN_BYTES
      See Also:
    • BYTE_SIZE_IN_BITS

      public static final int BYTE_SIZE_IN_BITS
      See Also:
    • NO_SEPARATOR_HEX_STRING_PATTERN

      private static final Pattern NO_SEPARATOR_HEX_STRING_PATTERN
    • HEX_CHARS

      private static final char[] HEX_CHARS
    • CRC32C_TABLE

      private static final int[] CRC32C_TABLE
  • Constructor Details

    • ByteArrays

      private ByteArrays()
  • Method Details

    • reverse

      public static byte[] reverse(byte[] array)
      Parameters:
      array - array
      Returns:
      a new array containing specified array's elements in reverse order.
    • getByte

      public static byte getByte(byte[] array, int offset)
      Parameters:
      array - array
      offset - offset
      Returns:
      byte value.
    • toByteArray

      public static byte[] toByteArray(byte value)
      Parameters:
      value - value
      Returns:
      byte array
    • toHexString

      public static String toHexString(byte value, String separator)
      Parameters:
      value - value
      separator - separator
      Returns:
      hex string
    • getShort

      public static short getShort(byte[] array, int offset)
      Parameters:
      array - array
      offset - offset
      Returns:
      short value
    • getShort

      public static short getShort(byte[] array, int offset, ByteOrder bo)
      Parameters:
      array - array
      offset - offset
      bo - bo
      Returns:
      short value
    • toByteArray

      public static byte[] toByteArray(short value)
      Parameters:
      value - value
      Returns:
      byte array
    • toByteArray

      public static byte[] toByteArray(short value, ByteOrder bo)
      Parameters:
      value - value
      bo - bo
      Returns:
      byte array
    • toHexString

      public static String toHexString(short value, String separator)
      Parameters:
      value - value
      separator - separator
      Returns:
      hex string
    • toHexString

      public static String toHexString(short value, String separator, ByteOrder bo)
      Parameters:
      value - value
      separator - separator
      bo - bo
      Returns:
      hex string
    • getInt

      public static int getInt(byte[] array, int offset)
      Parameters:
      array - array
      offset - offset
      Returns:
      int value.
    • getInt

      public static int getInt(byte[] array, int offset, ByteOrder bo)
      Parameters:
      array - array
      offset - offset
      bo - bo
      Returns:
      int value.
    • getInt

      public static int getInt(byte[] array, int offset, int length)
      Parameters:
      array - array
      offset - offset
      length - length
      Returns:
      int value.
    • getInt

      public static int getInt(byte[] array, int offset, int length, ByteOrder bo)
      Parameters:
      array - array
      offset - offset
      length - length
      bo - bo
      Returns:
      int value.
    • toByteArray

      public static byte[] toByteArray(int value)
      Parameters:
      value - value
      Returns:
      byte array
    • toByteArray

      public static byte[] toByteArray(int value, ByteOrder bo)
      Parameters:
      value - value
      bo - bo
      Returns:
      byte array
    • toByteArray

      public static byte[] toByteArray(int value, int length)
      Parameters:
      value - value
      length - length
      Returns:
      byte array
    • toByteArray

      public static byte[] toByteArray(int value, int length, ByteOrder bo)
      Parameters:
      value - value
      length - length
      bo - bo
      Returns:
      byte array
    • toHexString

      public static String toHexString(int value, String separator)
      Parameters:
      value - value
      separator - separator
      Returns:
      hex string
    • toHexString

      public static String toHexString(int value, String separator, ByteOrder bo)
      Parameters:
      value - value
      separator - separator
      bo - bo
      Returns:
      hex string
    • getLong

      public static long getLong(byte[] array, int offset)
      Parameters:
      array - array
      offset - offset
      Returns:
      long value
    • getLong

      public static long getLong(byte[] array, int offset, ByteOrder bo)
      Parameters:
      array - array
      offset - offset
      bo - bo
      Returns:
      long value
    • toByteArray

      public static byte[] toByteArray(long value)
      Parameters:
      value - value
      Returns:
      byte array
    • toByteArray

      public static byte[] toByteArray(long value, ByteOrder bo)
      Parameters:
      value - value
      bo - bo
      Returns:
      byte array
    • toHexString

      public static String toHexString(long value, String separator)
      Parameters:
      value - value
      separator - separator
      Returns:
      hex string
    • toHexString

      public static String toHexString(long value, String separator, ByteOrder bo)
      Parameters:
      value - value
      separator - separator
      bo - bo
      Returns:
      hex string
    • getMacAddress

      public static MacAddress getMacAddress(byte[] array, int offset)
      Parameters:
      array - array
      offset - offset
      Returns:
      a new MacAddress object.
    • getMacAddress

      public static MacAddress getMacAddress(byte[] array, int offset, ByteOrder bo)
      Parameters:
      array - array
      offset - offset
      bo - bo
      Returns:
      a new MacAddress object.
    • toByteArray

      public static byte[] toByteArray(MacAddress value)
      Parameters:
      value - value
      Returns:
      byte array
    • toByteArray

      public static byte[] toByteArray(MacAddress value, ByteOrder bo)
      Parameters:
      value - value
      bo - bo
      Returns:
      byte array
    • getLinkLayerAddress

      public static LinkLayerAddress getLinkLayerAddress(byte[] array, int offset, int length)
      Parameters:
      array - array
      offset - offset
      length - length
      Returns:
      a new LinkLayerAddress object.
    • getLinkLayerAddress

      public static LinkLayerAddress getLinkLayerAddress(byte[] array, int offset, int length, ByteOrder bo)
      Parameters:
      array - array
      offset - offset
      length - length
      bo - bo
      Returns:
      a new LinkLayerAddress object.
    • toByteArray

      public static byte[] toByteArray(LinkLayerAddress value)
      Parameters:
      value - value
      Returns:
      byte array
    • toByteArray

      public static byte[] toByteArray(LinkLayerAddress value, ByteOrder bo)
      Parameters:
      value - value
      bo - bo
      Returns:
      byte array
    • getInet4Address

      public static Inet4Address getInet4Address(byte[] array, int offset)
      Parameters:
      array - array
      offset - offset
      Returns:
      a new Inet4Address object.
    • getInet4Address

      public static Inet4Address getInet4Address(byte[] array, int offset, ByteOrder bo)
      Parameters:
      array - array
      offset - offset
      bo - bo
      Returns:
      a new Inet4Address object.
    • parseInet4Address

      public static byte[] parseInet4Address(String addr)
      Parameters:
      addr - a string representation of an IPv4 address. (e.g. "192.168.0.100")
      Returns:
      a byte array representation of the IPv4 address.
      Throws:
      IllegalArgumentException - if failed to parse addr.
    • getInet6Address

      public static Inet6Address getInet6Address(byte[] array, int offset)
      Parameters:
      array - array
      offset - offset
      Returns:
      a new Inet6Address object.
    • getInet6Address

      public static Inet6Address getInet6Address(byte[] array, int offset, ByteOrder bo)
      Parameters:
      array - array
      offset - offset
      bo - bo
      Returns:
      a new Inet6Address object.
    • toByteArray

      public static byte[] toByteArray(InetAddress value)
      Parameters:
      value - value
      Returns:
      byte array
    • toByteArray

      public static byte[] toByteArray(InetAddress value, ByteOrder bo)
      Parameters:
      value - value
      bo - bo
      Returns:
      byte array
    • getSubArray

      public static byte[] getSubArray(byte[] array, int offset, int length)
      Parameters:
      array - array
      offset - offset
      length - length
      Returns:
      sub array
    • getSubArray

      public static byte[] getSubArray(byte[] array, int offset)
      Parameters:
      array - array
      offset - offset
      Returns:
      sub array
    • toHexString

      public static String toHexString(byte[] array, String separator)
      Parameters:
      array - array
      separator - separator
      Returns:
      hex string
    • toHexString

      public static String toHexString(byte[] array, String separator, int offset, int length)
      Parameters:
      array - array
      separator - separator
      offset - offset
      length - length
      Returns:
      hex string
    • calcChecksum

      public static short calcChecksum(byte[] data)
      A utility method to calculate the Internet checksum.
      Parameters:
      data - data
      Returns:
      checksum
      See Also:
    • calcCrc32Checksum

      public static int calcCrc32Checksum(byte[] data)
      A utility method to calculate CRC-32 checksum.
      Parameters:
      data - data
      Returns:
      checksum
    • calcCrc32cChecksum

      public static int calcCrc32cChecksum(byte[] data)
      A utility method to calculate CRC-32C checksum.
      Parameters:
      data - data
      Returns:
      checksum
    • calcAdler32Checksum

      public static int calcAdler32Checksum(byte[] data)
      A utility method to calculate Adler-32 checksum.
      Parameters:
      data - data
      Returns:
      checksum
    • parseByteArray

      public static byte[] parseByteArray(String hexString, String separator)
      Parameters:
      hexString - hexString
      separator - separator
      Returns:
      a new byte array.
    • clone

      public static byte[] clone(byte[] array)
      Parameters:
      array - array
      Returns:
      a clone of array
    • validateBounds

      public static void validateBounds(byte[] arr, int offset, int len)
      A utility method to validate arguments which indicate a part of an array.
      Parameters:
      arr - arr
      offset - offset
      len - len
      Throws:
      NullPointerException - if the arr is null.
      IllegalArgumentException - if arr is empty or len is zero.
      ArrayIndexOutOfBoundsException - if offset or len is negative, or ( offset + len) is greater than or equal to arr.length.
    • xor

      public static byte[] xor(byte[] arr1, byte[] arr2)
      Parameters:
      arr1 - arr1
      arr2 - arr2
      Returns:
      arr1 xor arr2
    • concatenate

      public static byte[] concatenate(byte[] arr1, byte[] arr2)
      Parameters:
      arr1 - arr1
      arr2 - arr2
      Returns:
      arr1 + arr2
    • concatenate

      public static byte[] concatenate(List<byte[]> arrs)
      Parameters:
      arrs - arrays
      Returns:
      the concatenated array.