Class ByteArrays


  • public final class ByteArrays
    extends java.lang.Object
    Since:
    pcap4j 0.9.1
    Author:
    Kaito Yamada
    • Method Summary

      Modifier and Type Method Description
      static int calcAdler32Checksum​(byte[] data)
      A utility method to calculate Adler-32 checksum.
      static short calcChecksum​(byte[] data)
      A utility method to calculate the Internet checksum.
      static int calcCrc32cChecksum​(byte[] data)
      A utility method to calculate CRC-32C checksum.
      static int calcCrc32Checksum​(byte[] data)
      A utility method to calculate CRC-32 checksum.
      static byte[] clone​(byte[] array)  
      static byte[] concatenate​(byte[] arr1, byte[] arr2)  
      static byte[] concatenate​(java.util.List<byte[]> arrs)  
      static byte getByte​(byte[] array, int offset)  
      static java.net.Inet4Address getInet4Address​(byte[] array, int offset)  
      static java.net.Inet4Address getInet4Address​(byte[] array, int offset, java.nio.ByteOrder bo)  
      static java.net.Inet6Address getInet6Address​(byte[] array, int offset)  
      static java.net.Inet6Address getInet6Address​(byte[] array, int offset, java.nio.ByteOrder bo)  
      static int getInt​(byte[] array, int offset)  
      static int getInt​(byte[] array, int offset, int length)  
      static int getInt​(byte[] array, int offset, int length, java.nio.ByteOrder bo)  
      static int getInt​(byte[] array, int offset, java.nio.ByteOrder bo)  
      static LinkLayerAddress getLinkLayerAddress​(byte[] array, int offset, int length)  
      static LinkLayerAddress getLinkLayerAddress​(byte[] array, int offset, int length, java.nio.ByteOrder bo)  
      static long getLong​(byte[] array, int offset)  
      static long getLong​(byte[] array, int offset, java.nio.ByteOrder bo)  
      static MacAddress getMacAddress​(byte[] array, int offset)  
      static MacAddress getMacAddress​(byte[] array, int offset, java.nio.ByteOrder bo)  
      static short getShort​(byte[] array, int offset)  
      static short getShort​(byte[] array, int offset, java.nio.ByteOrder bo)  
      static byte[] getSubArray​(byte[] array, int offset)  
      static byte[] getSubArray​(byte[] array, int offset, int length)  
      static byte[] parseByteArray​(java.lang.String hexString, java.lang.String separator)  
      static byte[] parseInet4Address​(java.lang.String addr)  
      static byte[] reverse​(byte[] array)  
      static byte[] toByteArray​(byte value)  
      static byte[] toByteArray​(int value)  
      static byte[] toByteArray​(int value, int length)  
      static byte[] toByteArray​(int value, int length, java.nio.ByteOrder bo)  
      static byte[] toByteArray​(int value, java.nio.ByteOrder bo)  
      static byte[] toByteArray​(long value)  
      static byte[] toByteArray​(long value, java.nio.ByteOrder bo)  
      static byte[] toByteArray​(short value)  
      static byte[] toByteArray​(short value, java.nio.ByteOrder bo)  
      static byte[] toByteArray​(java.net.InetAddress value)  
      static byte[] toByteArray​(java.net.InetAddress value, java.nio.ByteOrder bo)  
      static byte[] toByteArray​(LinkLayerAddress value)  
      static byte[] toByteArray​(LinkLayerAddress value, java.nio.ByteOrder bo)  
      static byte[] toByteArray​(MacAddress value)  
      static byte[] toByteArray​(MacAddress value, java.nio.ByteOrder bo)  
      static java.lang.String toHexString​(byte[] array, java.lang.String separator)  
      static java.lang.String toHexString​(byte[] array, java.lang.String separator, int offset, int length)  
      static java.lang.String toHexString​(byte value, java.lang.String separator)  
      static java.lang.String toHexString​(int value, java.lang.String separator)  
      static java.lang.String toHexString​(int value, java.lang.String separator, java.nio.ByteOrder bo)  
      static java.lang.String toHexString​(long value, java.lang.String separator)  
      static java.lang.String toHexString​(long value, java.lang.String separator, java.nio.ByteOrder bo)  
      static java.lang.String toHexString​(short value, java.lang.String separator)  
      static java.lang.String toHexString​(short value, java.lang.String separator, java.nio.ByteOrder bo)  
      static void validateBounds​(byte[] arr, int offset, int len)
      A utility method to validate arguments which indicate a part of an array.
      static byte[] xor​(byte[] arr1, byte[] arr2)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • 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 java.lang.String toHexString​(byte value,
                                                   java.lang.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,
                                     java.nio.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,
                                         java.nio.ByteOrder bo)
        Parameters:
        value - value
        bo - bo
        Returns:
        byte array
      • toHexString

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

        public static java.lang.String toHexString​(short value,
                                                   java.lang.String separator,
                                                   java.nio.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,
                                 java.nio.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,
                                 java.nio.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,
                                         java.nio.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,
                                         java.nio.ByteOrder bo)
        Parameters:
        value - value
        length - length
        bo - bo
        Returns:
        byte array
      • toHexString

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

        public static java.lang.String toHexString​(int value,
                                                   java.lang.String separator,
                                                   java.nio.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,
                                   java.nio.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,
                                         java.nio.ByteOrder bo)
        Parameters:
        value - value
        bo - bo
        Returns:
        byte array
      • toHexString

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

        public static java.lang.String toHexString​(long value,
                                                   java.lang.String separator,
                                                   java.nio.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,
                                               java.nio.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,
                                         java.nio.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,
                                                           java.nio.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,
                                         java.nio.ByteOrder bo)
        Parameters:
        value - value
        bo - bo
        Returns:
        byte array
      • getInet4Address

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

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

        public static byte[] parseInet4Address​(java.lang.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:
        java.lang.IllegalArgumentException - if failed to parse addr.
      • getInet6Address

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

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

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

        public static byte[] toByteArray​(java.net.InetAddress value,
                                         java.nio.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 java.lang.String toHexString​(byte[] array,
                                                   java.lang.String separator)
        Parameters:
        array - array
        separator - separator
        Returns:
        hex string
      • toHexString

        public static java.lang.String toHexString​(byte[] array,
                                                   java.lang.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:
        RFC 1071
      • 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​(java.lang.String hexString,
                                            java.lang.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:
        java.lang.NullPointerException - if the arr is null.
        java.lang.IllegalArgumentException - if arr is empty.
        LengthZeroException - if len is zero.
        java.lang.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​(java.util.List<byte[]> arrs)
        Parameters:
        arrs - arrays
        Returns:
        the concatenated array.