com.sleepycat.util

Class UtfOps

public class UtfOps extends Object

UTF operations with more flexibility than is provided by DataInput and DataOutput.
Method Summary
static intbytesToChars(byte[] bytes, int byteOffset, char[] chars, int charOffset, int len, boolean isByteLen)
Converts byte arrays into character arrays.
static StringbytesToString(byte[] bytes, int offset, int length)
Converts byte arrays into strings.
static voidcharsToBytes(char[] chars, int charOffset, byte[] bytes, int byteOffset, int charLength)
Converts character arrays into byte arrays.
static intgetByteLength(char[] chars)
Returns the byte length of the UTF string that would be created by converting the given characters to UTF.
static intgetByteLength(char[] chars, int offset, int length)
Returns the byte length of the UTF string that would be created by converting the given characters to UTF.
static intgetCharLength(byte[] bytes)
Returns the number of characters represented by the given UTF string.
static intgetCharLength(byte[] bytes, int offset, int length)
Returns the number of characters represented by the given UTF string.
static intgetZeroTerminatedByteLength(byte[] bytes, int offset)
Returns the byte length of a null terminated UTF string, not including the terminator.
static byte[]stringToBytes(String string)
Converts strings to byte arrays.

Method Detail

bytesToChars

public static int bytesToChars(byte[] bytes, int byteOffset, char[] chars, int charOffset, int len, boolean isByteLen)
Converts byte arrays into character arrays.

Parameters: bytes the source byte data to convert byteOffset the offset into the byte array at which to start the conversion chars the destination array charOffset the offset into chars at which to begin the copy len the amount of information to copy into chars isByteLen if true then len is a measure of bytes, otherwise len is a measure of characters

Throws: IndexOutOfBoundsException if a UTF character sequence at the end of the data is not complete. IllegalArgumentException if an illegal UTF sequence is encountered.

bytesToString

public static String bytesToString(byte[] bytes, int offset, int length)
Converts byte arrays into strings.

Parameters: bytes the source byte data to convert offset the offset into the byte array at which to start the conversion length the number of bytes to be converted.

Returns: the string.

Throws: IndexOutOfBoundsException if a UTF character sequence at the end of the data is not complete. IllegalArgumentException if an illegal UTF sequence is encountered.

charsToBytes

public static void charsToBytes(char[] chars, int charOffset, byte[] bytes, int byteOffset, int charLength)
Converts character arrays into byte arrays.

Parameters: chars the source character data to convert charOffset the offset into the character array at which to start the conversion bytes the destination array byteOffset the offset into bytes at which to begin the copy charLength the length of characters to copy into bytes

getByteLength

public static int getByteLength(char[] chars)
Returns the byte length of the UTF string that would be created by converting the given characters to UTF.

Parameters: chars the characters that would be converted.

Returns: the byte length of the equivalent UTF data.

getByteLength

public static int getByteLength(char[] chars, int offset, int length)
Returns the byte length of the UTF string that would be created by converting the given characters to UTF.

Parameters: chars the characters that would be converted. offset the first character to be converted. length the number of characters to be converted.

Returns: the byte length of the equivalent UTF data.

getCharLength

public static int getCharLength(byte[] bytes)
Returns the number of characters represented by the given UTF string.

Parameters: bytes the UTF string.

Returns: the number of characters.

Throws: IndexOutOfBoundsException if a UTF character sequence at the end of the data is not complete. IllegalArgumentException if an illegal UTF sequence is encountered.

getCharLength

public static int getCharLength(byte[] bytes, int offset, int length)
Returns the number of characters represented by the given UTF string.

Parameters: bytes the data containing the UTF string. offset the first byte to be converted. length the number of byte to be converted.

Throws: IndexOutOfBoundsException if a UTF character sequence at the end of the data is not complete. IllegalArgumentException if an illegal UTF sequence is encountered.

getZeroTerminatedByteLength

public static int getZeroTerminatedByteLength(byte[] bytes, int offset)
Returns the byte length of a null terminated UTF string, not including the terminator.

Parameters: bytes the data containing the UTF string. offset the beginning of the string the measure.

Returns: the number of bytes.

Throws: IndexOutOfBoundsException if no zero terminator is found.

stringToBytes

public static byte[] stringToBytes(String string)
Converts strings to byte arrays.

Parameters: string the string to convert.

Returns: the UTF byte array.