public class Bytes extends Object
Modifier and Type | Class and Description |
---|---|
static class |
Bytes.ByteArrayComparator
Byte array comparator class.
|
Modifier and Type | Field and Description |
---|---|
static Comparator<byte[]> |
BYTES_COMPARATOR
Pass this to TreeMaps where byte [] are keys.
|
static org.apache.hadoop.io.RawComparator<byte[]> |
BYTES_RAWCOMPARATOR
Use comparing byte arrays, byte-by-byte
|
static int |
ESTIMATED_HEAP_TAX
Estimate of size cost to pay beyond payload in jvm for instance of byte [].
|
static int |
LONG_BYTES
The number of bytes required to represent a primitive
long
value. |
static double[] |
powersOf10 |
static int |
SIZEOF_BOOLEAN
Size of boolean in bytes
|
static int |
SIZEOF_BYTE
Size of byte in bytes
|
static int |
SIZEOF_CHAR
Size of char in bytes
|
static int |
SIZEOF_DOUBLE
Size of double in bytes
|
static int |
SIZEOF_FLOAT
Size of float in bytes
|
static int |
SIZEOF_INT
Size of int in bytes
|
static int |
SIZEOF_LONG
Size of long in bytes
|
static int |
SIZEOF_SHORT
Size of short in bytes
|
Constructor and Description |
---|
Bytes() |
Modifier and Type | Method and Description |
---|---|
static byte[] |
add(byte[] a,
byte[] b) |
static byte[] |
add(byte[] a,
byte[] b,
byte[] c) |
static int |
binarySearch(byte[][] arr,
byte[] key,
int offset,
int length,
org.apache.hadoop.io.RawComparator<byte[]> comparator)
Binary search for keys in indexes.
|
static long |
bytesToVint(byte[] buffer) |
static int |
compareTo(byte[] left,
byte[] right) |
static int |
compareTo(byte[] buffer1,
int offset1,
int length1,
byte[] buffer2,
int offset2,
int length2)
Lexicographically compare two arrays.
|
static boolean |
equals(byte[] left,
byte[] right) |
static boolean |
equals(byte[] left,
int leftOffset,
int leftLen,
byte[] right,
int rightOffset,
int rightLen) |
static byte[] |
getBytes(ByteBuffer buf)
This method will get a sequence of bytes from pos -> limit,
but will restore pos after.
|
static byte |
getVIntSize(byte[] bytes,
int offset) |
static int |
hashCode(byte[] b) |
static int |
hashCode(byte[] b,
int length) |
static byte[] |
head(byte[] a,
int length) |
static byte[] |
incrementBytes(byte[] value,
long amount)
Bytewise binary increment/deincrement of long contained in byte array
on given amount.
|
static Iterable<byte[]> |
iterateOnSplits(byte[] a,
byte[] b,
int num)
Iterate over keys within the passed inclusive range.
|
static Integer |
mapKey(byte[] b) |
static Integer |
mapKey(byte[] b,
int length) |
static byte[] |
padHead(byte[] a,
int length) |
static byte[] |
padTail(byte[] a,
int length) |
static double |
parseDouble(byte[] bytes,
int start,
int length)
Parses the byte array argument as if it was a double value and returns the
result.
|
static int |
parseInt(byte[] bytes,
int start,
int length)
Parses the byte array argument as if it was an int value and returns the
result.
|
static int |
parseInt(byte[] bytes,
int start,
int length,
int radix)
Parses the byte array argument as if it was an int value and returns the
result.
|
static int |
putBigDecimal(byte[] bytes,
int offset,
BigDecimal val)
Put a BigDecimal value out to the specified byte array position.
|
static int |
putByte(byte[] bytes,
int offset,
byte b)
Write a single byte out to the specified byte array position.
|
static int |
putBytes(byte[] tgtBytes,
int tgtOffset,
byte[] srcBytes,
int srcOffset,
int srcLength)
Put bytes at the specified byte array position.
|
static int |
putDouble(byte[] bytes,
int offset,
double d) |
static int |
putFloat(byte[] bytes,
int offset,
float f) |
static int |
putInt(byte[] bytes,
int offset,
int val)
Put an int value out to the specified byte array position.
|
static int |
putLong(byte[] bytes,
int offset,
long val)
Put a long value out to the specified byte array position.
|
static int |
putShort(byte[] bytes,
int offset,
short val)
Put a short value out to the specified byte array position.
|
static byte[] |
readByteArray(DataInput in)
Read byte-array written with a WritableableUtils.vint prefix.
|
static byte[] |
readByteArrayThrowsRuntime(DataInput in)
Read byte-array written with a WritableableUtils.vint prefix.
|
static int |
readFully(InputStream is,
byte[] buffer,
int offset,
int length) |
static String |
readStringFixedSize(DataInput in,
int size)
Reads a fixed-size field and interprets it as a string padded with zeros.
|
static int |
readVInt(byte[] buffer,
int offset)
Reads a zero-compressed encoded int from input stream and returns it.
|
static long |
readVLong(byte[] buffer,
int offset)
Reads a zero-compressed encoded long from input stream and returns it.
|
static void |
skipFully(DataInput in,
int len)
Similar to readFully().
|
static byte[][] |
split(byte[] a,
byte[] b,
int num)
Split passed range.
|
static byte[][] |
splitPreserveAllTokens(byte[] str,
char separatorChar) |
static byte[][] |
splitPreserveAllTokens(byte[] str,
char separatorChar,
int[] target) |
static byte[][] |
splitPreserveAllTokens(byte[] str,
int length,
char separatorChar) |
static byte[][] |
splitPreserveAllTokens(byte[] str,
int offset,
int length,
char separatorChar,
int[] target) |
static boolean |
startsWith(byte[] bytes,
byte[] prefix)
Return true if the byte array on the right is a prefix of the byte
array on the left.
|
static byte[] |
tail(byte[] a,
int length) |
static byte[] |
toASCIIBytes(char[] chars)
Converts a char array to a ascii byte array.
|
static BigDecimal |
toBigDecimal(byte[] bytes)
Converts a byte array to a BigDecimal
|
static BigDecimal |
toBigDecimal(byte[] bytes,
int offset)
Converts a byte array to a BigDecimal value
|
static BigDecimal |
toBigDecimal(byte[] bytes,
int offset,
int length)
Converts a byte array to a BigDecimal value
|
static byte |
toBinaryFromHex(byte ch)
Takes a ASCII digit in the range A-F0-9 and returns
the corresponding integer/ordinal value.
|
static boolean |
toBoolean(byte[] b)
Reverses
toBytes(boolean) |
static byte[][] |
toByteArrays(byte[] column) |
static byte[][] |
toByteArrays(String column) |
static byte[][] |
toByteArrays(String[] t) |
static byte[] |
toBytes(BigDecimal val)
Convert a BigDecimal value to a byte array
|
static byte[] |
toBytes(boolean b)
Convert a boolean to a byte array.
|
static byte[] |
toBytes(ByteBuffer bb)
Returns a new byte array, copied from the passed ByteBuffer.
|
static byte[] |
toBytes(double d)
Serialize a double as the IEEE 754 double format output.
|
static byte[] |
toBytes(float f) |
static byte[] |
toBytes(int val)
Convert an int value to a byte array
|
static byte[] |
toBytes(long val)
Convert a long value to a byte array using big-endian.
|
static byte[] |
toBytes(short val)
Convert a short value to a byte array of
SIZEOF_SHORT bytes long. |
static byte[] |
toBytes(String s)
Converts a string to a UTF-8 byte array.
|
static byte[] |
toBytesBinary(String in) |
static double |
toDouble(byte[] bytes) |
static double |
toDouble(byte[] bytes,
int offset) |
static float |
toFloat(byte[] bytes)
Presumes float encoded as IEEE 754 floating-point "single format"
|
static float |
toFloat(byte[] bytes,
int offset)
Presumes float encoded as IEEE 754 floating-point "single format"
|
static int |
toInt(byte[] bytes)
Converts a byte array to an int value
|
static int |
toInt(byte[] bytes,
int offset)
Converts a byte array to an int value
|
static int |
toInt(byte[] bytes,
int offset,
int length)
Converts a byte array to an int value
|
static long |
toLong(byte[] bytes)
Converts a byte array to a long value.
|
static long |
toLong(byte[] bytes,
int offset)
Converts a byte array to a long value.
|
static long |
toLong(byte[] bytes,
int offset,
int length)
Converts a byte array to a long value.
|
static short |
toShort(byte[] bytes)
Converts a byte array to a short value
|
static short |
toShort(byte[] bytes,
int offset)
Converts a byte array to a short value
|
static short |
toShort(byte[] bytes,
int offset,
int length)
Converts a byte array to a short value
|
static String |
toString(byte[] b) |
static String |
toString(byte[] b,
int off,
int len)
This method will convert utf8 encoded bytes into a string.
|
static String |
toString(byte[] b1,
String sep,
byte[] b2)
Joins two byte arrays together using a separator.
|
static String |
toStringBinary(byte[] b)
Write a printable representation of a byte array.
|
static String |
toStringBinary(byte[] b,
int off,
int len)
Write a printable representation of a byte array.
|
static String |
toStringBinary(ByteBuffer buf)
Converts the given byte buffer, from its array offset to its limit, to
a string.
|
static byte[] |
vintToBytes(long vint) |
static byte[] |
vlongToBytes(long n) |
static int |
writeByteArray(byte[] tgt,
int tgtOffset,
byte[] src,
int srcOffset,
int srcLength)
Write byte-array from src to tgt with a vint length prefix.
|
static void |
writeByteArray(DataOutput out,
byte[] b)
Write byte-array with a WritableableUtils.vint prefix.
|
static void |
writeByteArray(DataOutput out,
byte[] b,
int offset,
int length)
Write byte-array to out with a vint length prefix.
|
static void |
writeStringFixedSize(DataOutput out,
String s,
int size)
Writes a string as a fixed-size field, padded with zeros.
|
static void |
writeVLong(ByteArrayOutputStream byteStream,
long l) |
public static final int SIZEOF_BOOLEAN
public static final int SIZEOF_BYTE
public static final int SIZEOF_CHAR
public static final int SIZEOF_DOUBLE
public static final int SIZEOF_FLOAT
public static final int SIZEOF_INT
public static final int SIZEOF_LONG
public static final int SIZEOF_SHORT
public static final int ESTIMATED_HEAP_TAX
public static Comparator<byte[]> BYTES_COMPARATOR
public static org.apache.hadoop.io.RawComparator<byte[]> BYTES_RAWCOMPARATOR
public static final int LONG_BYTES
long
value.public static final double[] powersOf10
public static byte[] readByteArray(DataInput in) throws IOException
in
- Input to read from.in
IOException
- epublic static byte[] readByteArrayThrowsRuntime(DataInput in)
in
- Input to read from.in
public static void writeByteArray(DataOutput out, byte[] b) throws IOException
out
- output stream to be written tob
- array to writeIOException
- epublic static void writeByteArray(DataOutput out, byte[] b, int offset, int length) throws IOException
out
- output streamb
- arrayoffset
- offset into arraylength
- length past offsetIOException
- epublic static int writeByteArray(byte[] tgt, int tgtOffset, byte[] src, int srcOffset, int srcLength)
tgt
- target arraytgtOffset
- offset into target arraysrc
- source arraysrcOffset
- source offsetsrcLength
- source lengthpublic static void writeVLong(ByteArrayOutputStream byteStream, long l)
public static int putBytes(byte[] tgtBytes, int tgtOffset, byte[] srcBytes, int srcOffset, int srcLength)
tgtBytes
- the byte arraytgtOffset
- position in the arraysrcBytes
- array to write outsrcOffset
- source offsetsrcLength
- source lengthpublic static int putByte(byte[] bytes, int offset, byte b)
bytes
- the byte arrayoffset
- position in the arrayb
- byte to write outpublic static byte[] toBytes(ByteBuffer bb)
bb
- A ByteBufferpublic static String toString(byte[] b)
b
- Presumed UTF-8 encoded byte array.b
public static String toString(byte[] b1, String sep, byte[] b2)
b1
- The first byte array.sep
- The separator to use.b2
- The second byte array.public static String toString(byte[] b, int off, int len)
b
- Presumed UTF-8 encoded byte array.off
- offset into arraylen
- length of utf-8 sequenceb
or nullpublic static String toStringBinary(byte[] b)
b
- byte arraytoStringBinary(byte[], int, int)
public static String toStringBinary(ByteBuffer buf)
buf
- a byte bufferpublic static String toStringBinary(byte[] b, int off, int len)
b
- array to write outoff
- offset to start atlen
- length to writepublic static byte toBinaryFromHex(byte ch)
ch
- The hex digit.public static byte[] toBytesBinary(String in)
public static byte[] toBytes(String s)
s
- stringpublic static byte[] toASCIIBytes(char[] chars)
chars
- stringpublic static byte[] toBytes(boolean b)
b
- valueb
encoded in a byte array.public static boolean toBoolean(byte[] b)
toBytes(boolean)
b
- arraypublic static byte[] toBytes(long val)
val
- value to convertpublic static long toLong(byte[] bytes)
toBytes(long)
bytes
- arraypublic static long toLong(byte[] bytes, int offset)
SIZEOF_LONG
bytes available.bytes
- bytesoffset
- offsetpublic static long toLong(byte[] bytes, int offset, int length)
bytes
- array of bytesoffset
- offset into arraylength
- length of data (must be SIZEOF_LONG
)IllegalArgumentException
- if length is not SIZEOF_LONG
or
if there's not enough room in the array at the offset indicated.public static int putLong(byte[] bytes, int offset, long val)
bytes
- the byte arrayoffset
- position in the arrayval
- long to write outIllegalArgumentException
- if the byte array given doesn't have
enough room at the offset specified.public static float toFloat(byte[] bytes)
bytes
- byte arraypublic static float toFloat(byte[] bytes, int offset)
bytes
- array to convertoffset
- offset into arraypublic static int putFloat(byte[] bytes, int offset, float f)
bytes
- byte arrayoffset
- offset to write tof
- float valuebytes
public static byte[] toBytes(float f)
f
- float valuepublic static double toDouble(byte[] bytes)
bytes
- byte arraypublic static double toDouble(byte[] bytes, int offset)
bytes
- byte arrayoffset
- offset where double ispublic static int putDouble(byte[] bytes, int offset, double d)
bytes
- byte arrayoffset
- offset to write tod
- valuebytes
public static byte[] toBytes(double d)
d
- valuepublic static byte[] toBytes(int val)
val
- valuepublic static int toInt(byte[] bytes)
bytes
- byte arraypublic static int toInt(byte[] bytes, int offset)
bytes
- byte arrayoffset
- offset into arraypublic static int toInt(byte[] bytes, int offset, int length)
bytes
- byte arrayoffset
- offset into arraylength
- length of int (has to be SIZEOF_INT
)IllegalArgumentException
- if length is not SIZEOF_INT
or
if there's not enough room in the array at the offset indicated.public static int putInt(byte[] bytes, int offset, int val)
bytes
- the byte arrayoffset
- position in the arrayval
- int to write outIllegalArgumentException
- if the byte array given doesn't have
enough room at the offset specified.public static byte[] toBytes(short val)
SIZEOF_SHORT
bytes long.val
- valuepublic static short toShort(byte[] bytes)
bytes
- byte arraypublic static short toShort(byte[] bytes, int offset)
bytes
- byte arrayoffset
- offset into arraypublic static short toShort(byte[] bytes, int offset, int length)
bytes
- byte arrayoffset
- offset into arraylength
- length, has to be SIZEOF_SHORT
IllegalArgumentException
- if length is not SIZEOF_SHORT
or if there's not enough room in the array at the offset indicated.public static byte[] getBytes(ByteBuffer buf)
buf
- public static int putShort(byte[] bytes, int offset, short val)
bytes
- the byte arrayoffset
- position in the arrayval
- short to write outIllegalArgumentException
- if the byte array given doesn't have
enough room at the offset specified.public static byte[] toBytes(BigDecimal val)
val
- public static BigDecimal toBigDecimal(byte[] bytes)
bytes
- public static BigDecimal toBigDecimal(byte[] bytes, int offset)
bytes
- offset
- public static BigDecimal toBigDecimal(byte[] bytes, int offset, int length)
bytes
- offset
- length
- public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val)
bytes
- the byte arrayoffset
- position in the arrayval
- BigDecimal to write outpublic static byte[] vintToBytes(long vint)
vint
- Integer to make a vint of.public static byte[] vlongToBytes(long n)
n
- Long to make a VLong of.public static long bytesToVint(byte[] buffer)
buffer
- buffer to convertpublic static long readVLong(byte[] buffer, int offset) throws IOException
buffer
- Binary arrayoffset
- Offset into array at which vint begins.IOException
- epublic static int readVInt(byte[] buffer, int offset) throws IOException
buffer
- Binary arrayoffset
- Offset into array at which vint begins.IOException
- epublic static byte getVIntSize(byte[] bytes, int offset)
public static int compareTo(byte[] left, byte[] right)
left
- left operandright
- right operandpublic static int compareTo(byte[] buffer1, int offset1, int length1, byte[] buffer2, int offset2, int length2)
buffer1
- left operandbuffer2
- right operandoffset1
- Where to start comparing in the left bufferoffset2
- Where to start comparing in the right bufferlength1
- How much to compare from the left bufferlength2
- How much to compare from the right bufferpublic static boolean equals(byte[] left, byte[] right)
left
- left operandright
- right operandpublic static boolean equals(byte[] left, int leftOffset, int leftLen, byte[] right, int rightOffset, int rightLen)
public static boolean startsWith(byte[] bytes, byte[] prefix)
public static int hashCode(byte[] b)
b
- bytes to hashWritableComparator.hashBytes(byte[], int)
on the
passed in array. This method is what Text
andpublic static int hashCode(byte[] b, int length)
b
- valuelength
- length of the valueWritableComparator.hashBytes(byte[], int)
on the
passed in array. This method is what Text
andpublic static Integer mapKey(byte[] b)
b
- bytes to hashb
as an Integer that can be used as key in
Maps.public static Integer mapKey(byte[] b, int length)
b
- bytes to hashlength
- length to hashb
as an Integer that can be used as key in
Maps.public static byte[] add(byte[] a, byte[] b)
a
- lower halfb
- upper halfpublic static byte[] add(byte[] a, byte[] b, byte[] c)
a
- first thirdb
- second thirdc
- third thirdpublic static byte[] head(byte[] a, int length)
a
- arraylength
- amount of bytes to grablength
bytes from a
public static byte[] tail(byte[] a, int length)
a
- arraylength
- amount of bytes to snarflength
bytes from a
public static byte[] padHead(byte[] a, int length)
a
- arraylength
- new array sizea
plus length
prepended 0 bytespublic static byte[] padTail(byte[] a, int length)
a
- arraylength
- new array sizea
plus length
appended 0 bytespublic static byte[][] split(byte[] a, byte[] b, int num)
a
- Beginning of rangeb
- End of rangenum
- Number of times to split range. Pass 1 if you want to split
the range in two; i.e. one split.public static byte[][] splitPreserveAllTokens(byte[] str, char separatorChar, int[] target)
public static byte[][] splitPreserveAllTokens(byte[] str, int offset, int length, char separatorChar, int[] target)
public static byte[][] splitPreserveAllTokens(byte[] str, char separatorChar)
public static byte[][] splitPreserveAllTokens(byte[] str, int length, char separatorChar)
public static Iterable<byte[]> iterateOnSplits(byte[] a, byte[] b, int num)
public static byte[][] toByteArrays(String[] t)
t
- operandspublic static byte[][] toByteArrays(String column)
column
- operandcolumn
public static byte[][] toByteArrays(byte[] column)
column
- operandcolumn
public static int binarySearch(byte[][] arr, byte[] key, int offset, int length, org.apache.hadoop.io.RawComparator<byte[]> comparator)
arr
- array of byte arrays to search forkey
- the key you want to findoffset
- the offset in the key you want to findlength
- the length of the keycomparator
- a comparator to compare.public static byte[] incrementBytes(byte[] value, long amount)
value
- - array of bytes containing long (length <= SIZEOF_LONG)amount
- value will be incremented on (deincremented if negative)public static void writeStringFixedSize(DataOutput out, String s, int size) throws IOException
IOException
public static String readStringFixedSize(DataInput in, int size) throws IOException
IOException
public static int readFully(InputStream is, byte[] buffer, int offset, int length) throws IOException
IOException
public static void skipFully(DataInput in, int len) throws IOException
in
- The DataInput to skip bytes fromlen
- number of bytes to skip.IOException
- if it could not skip requested number of bytes
for any reason (including EOF)public static int parseInt(byte[] bytes, int start, int length)
NumberFormatException
- if the argument could not be parsed as an int quantity.public static int parseInt(byte[] bytes, int start, int length, int radix)
radix
- the base to use for conversion.NumberFormatException
- if the argument could not be parsed as an int quantity.public static double parseDouble(byte[] bytes, int start, int length)
NumberFormatException
- if the argument could not be parsed as a doubleCopyright © 2014 Apache Software Foundation. All Rights Reserved.