Class ByteArrays
java.lang.Object
org.pcap4j.util.ByteArrays
- Since:
- pcap4j 0.9.1
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intprivate static final int[]private static final char[]static final intstatic final intstatic final intstatic final intprivate static final Patternstatic final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic intcalcAdler32Checksum(byte[] data) A utility method to calculate Adler-32 checksum.static shortcalcChecksum(byte[] data) A utility method to calculate the Internet checksum.static intcalcCrc32cChecksum(byte[] data) A utility method to calculate CRC-32C checksum.static intcalcCrc32Checksum(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(List<byte[]> arrs) static bytegetByte(byte[] array, int offset) static Inet4AddressgetInet4Address(byte[] array, int offset) static Inet4AddressgetInet4Address(byte[] array, int offset, ByteOrder bo) static Inet6AddressgetInet6Address(byte[] array, int offset) static Inet6AddressgetInet6Address(byte[] array, int offset, ByteOrder bo) static intgetInt(byte[] array, int offset) static intgetInt(byte[] array, int offset, int length) static intstatic intstatic LinkLayerAddressgetLinkLayerAddress(byte[] array, int offset, int length) static LinkLayerAddressgetLinkLayerAddress(byte[] array, int offset, int length, ByteOrder bo) static longgetLong(byte[] array, int offset) static longstatic MacAddressgetMacAddress(byte[] array, int offset) static MacAddressgetMacAddress(byte[] array, int offset, ByteOrder bo) static shortgetShort(byte[] array, int offset) static shortstatic byte[]getSubArray(byte[] array, int offset) static byte[]getSubArray(byte[] array, int offset, int length) static byte[]parseByteArray(String hexString, String separator) static byte[]parseInet4Address(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, ByteOrder bo) static byte[]toByteArray(int value, ByteOrder bo) static byte[]toByteArray(long value) static byte[]toByteArray(long value, ByteOrder bo) static byte[]toByteArray(short value) static byte[]toByteArray(short value, ByteOrder bo) static byte[]toByteArray(InetAddress value) static byte[]toByteArray(InetAddress value, ByteOrder bo) static byte[]toByteArray(LinkLayerAddress value) static byte[]toByteArray(LinkLayerAddress value, ByteOrder bo) static byte[]toByteArray(MacAddress value) static byte[]toByteArray(MacAddress value, ByteOrder bo) static StringtoHexString(byte[] array, String separator) static StringtoHexString(byte[] array, String separator, int offset, int length) static StringtoHexString(byte value, String separator) static StringtoHexString(int value, String separator) static StringtoHexString(int value, String separator, ByteOrder bo) static StringtoHexString(long value, String separator) static StringtoHexString(long value, String separator, ByteOrder bo) static StringtoHexString(short value, String separator) static StringtoHexString(short value, String separator, ByteOrder bo) static voidvalidateBounds(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)
-
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
-
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- arrayoffset- offset- Returns:
- byte value.
-
toByteArray
public static byte[] toByteArray(byte value) - Parameters:
value- value- Returns:
- byte array
-
toHexString
-
getShort
public static short getShort(byte[] array, int offset) - Parameters:
array- arrayoffset- offset- Returns:
- short value
-
getShort
- Parameters:
array- arrayoffset- offsetbo- bo- Returns:
- short value
-
toByteArray
public static byte[] toByteArray(short value) - Parameters:
value- value- Returns:
- byte array
-
toByteArray
- Parameters:
value- valuebo- bo- Returns:
- byte array
-
toHexString
-
toHexString
-
getInt
public static int getInt(byte[] array, int offset) - Parameters:
array- arrayoffset- offset- Returns:
- int value.
-
getInt
- Parameters:
array- arrayoffset- offsetbo- bo- Returns:
- int value.
-
getInt
public static int getInt(byte[] array, int offset, int length) - Parameters:
array- arrayoffset- offsetlength- length- Returns:
- int value.
-
getInt
- Parameters:
array- arrayoffset- offsetlength- lengthbo- bo- Returns:
- int value.
-
toByteArray
public static byte[] toByteArray(int value) - Parameters:
value- value- Returns:
- byte array
-
toByteArray
- Parameters:
value- valuebo- bo- Returns:
- byte array
-
toByteArray
public static byte[] toByteArray(int value, int length) - Parameters:
value- valuelength- length- Returns:
- byte array
-
toByteArray
- Parameters:
value- valuelength- lengthbo- bo- Returns:
- byte array
-
toHexString
-
toHexString
-
getLong
public static long getLong(byte[] array, int offset) - Parameters:
array- arrayoffset- offset- Returns:
- long value
-
getLong
- Parameters:
array- arrayoffset- offsetbo- bo- Returns:
- long value
-
toByteArray
public static byte[] toByteArray(long value) - Parameters:
value- value- Returns:
- byte array
-
toByteArray
- Parameters:
value- valuebo- bo- Returns:
- byte array
-
toHexString
-
toHexString
-
getMacAddress
- Parameters:
array- arrayoffset- offset- Returns:
- a new MacAddress object.
-
getMacAddress
- Parameters:
array- arrayoffset- offsetbo- bo- Returns:
- a new MacAddress object.
-
toByteArray
- Parameters:
value- value- Returns:
- byte array
-
toByteArray
- Parameters:
value- valuebo- bo- Returns:
- byte array
-
getLinkLayerAddress
- Parameters:
array- arrayoffset- offsetlength- length- Returns:
- a new LinkLayerAddress object.
-
getLinkLayerAddress
public static LinkLayerAddress getLinkLayerAddress(byte[] array, int offset, int length, ByteOrder bo) - Parameters:
array- arrayoffset- offsetlength- lengthbo- bo- Returns:
- a new LinkLayerAddress object.
-
toByteArray
- Parameters:
value- value- Returns:
- byte array
-
toByteArray
- Parameters:
value- valuebo- bo- Returns:
- byte array
-
getInet4Address
- Parameters:
array- arrayoffset- offset- Returns:
- a new Inet4Address object.
-
getInet4Address
- Parameters:
array- arrayoffset- offsetbo- bo- Returns:
- a new Inet4Address object.
-
parseInet4Address
- 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
- Parameters:
array- arrayoffset- offset- Returns:
- a new Inet6Address object.
-
getInet6Address
- Parameters:
array- arrayoffset- offsetbo- bo- Returns:
- a new Inet6Address object.
-
toByteArray
- Parameters:
value- value- Returns:
- byte array
-
toByteArray
- Parameters:
value- valuebo- bo- Returns:
- byte array
-
getSubArray
public static byte[] getSubArray(byte[] array, int offset, int length) - Parameters:
array- arrayoffset- offsetlength- length- Returns:
- sub array
-
getSubArray
public static byte[] getSubArray(byte[] array, int offset) - Parameters:
array- arrayoffset- offset- Returns:
- sub array
-
toHexString
-
toHexString
-
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
-
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- arroffset- offsetlen- len- Throws:
NullPointerException- if thearris null.IllegalArgumentException- ifarris empty orlenis zero.ArrayIndexOutOfBoundsException- ifoffsetorlenis negative, or (offset+len) is greater than or equal toarr.length.
-
xor
public static byte[] xor(byte[] arr1, byte[] arr2) - Parameters:
arr1- arr1arr2- arr2- Returns:
- arr1 xor arr2
-
concatenate
public static byte[] concatenate(byte[] arr1, byte[] arr2) - Parameters:
arr1- arr1arr2- arr2- Returns:
- arr1 + arr2
-
concatenate
- Parameters:
arrs- arrays- Returns:
- the concatenated array.
-