com.sleepycat.util

## Class UtfOps

- java.lang.Object
- - com.sleepycat.util.UtfOps

    public class UtfOps
    extends java.lang.Object

UTF operations with more flexibility than is provided by DataInput and DataOutput.

### Constructor Summary

Constructors
Constructor and Description
`UtfOps()`

### Method Summary

Methods
`static int` `bytesToChars(byte[] bytes, int byteOffset, char[] chars, int charOffset, int len, boolean isByteLen)` Converts byte arrays into character arrays.
`static java.lang.String` `bytesToString(byte[] bytes, int offset, int length)` Converts byte arrays into strings.
`static void` `charsToBytes(char[] chars, int charOffset, byte[] bytes, int byteOffset, int charLength)` Converts character arrays into byte arrays.
`static int` `getByteLength(char[] chars)` Returns the byte length of the UTF string that would be created by converting the given characters to UTF.
`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.
`static int` `getCharLength(byte[] bytes)` Returns the number of characters represented by the given UTF string.
`static int` `getCharLength(byte[] bytes, int offset, int length)` Returns the number of characters represented by the given UTF string.
`static int` `getZeroTerminatedByteLength(byte[] bytes, int offset)` Returns the byte length of a null terminated UTF string, not including the terminator.
`static byte[]` `stringToBytes(java.lang.String string)` Converts strings to byte arrays.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### UtfOps

    public UtfOps()

### Method Detail

#### getZeroTerminatedByteLength

    public static int getZeroTerminatedByteLength(byte[] bytes,
                                  int offset)
                                           throws java.lang.IndexOutOfBoundsException

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:
  `java.lang.IndexOutOfBoundsException` - if no zero terminator is found.

#### 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)
                             throws java.lang.IllegalArgumentException,
                                    java.lang.IndexOutOfBoundsException

Returns the number of characters represented by the given UTF string.

Parameters:
  `bytes` - the UTF string.
Returns:
  the number of characters.
Throws:
  `java.lang.IndexOutOfBoundsException` - if a UTF character sequence at the end of the data is not complete.
  `java.lang.IllegalArgumentException` - if an illegal UTF sequence is encountered.

#### getCharLength

    public static int getCharLength(byte[] bytes,
                    int offset,
                    int length)
                             throws java.lang.IllegalArgumentException,
                                    java.lang.IndexOutOfBoundsException

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:
  `java.lang.IndexOutOfBoundsException` - if a UTF character sequence at the end of the data is not complete.
  `java.lang.IllegalArgumentException` - if an illegal UTF sequence is encountered.

#### bytesToChars

    public static int bytesToChars(byte[] bytes,
                   int byteOffset,
                   char[] chars,
                   int charOffset,
                   int len,
                   boolean isByteLen)
                            throws java.lang.IllegalArgumentException,
                                   java.lang.IndexOutOfBoundsException

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:
  `java.lang.IndexOutOfBoundsException` - if a UTF character sequence at the end of the data is not complete.
  `java.lang.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

#### bytesToString

    public static java.lang.String bytesToString(byte[] bytes,
                                 int offset,
                                 int length)
                                          throws java.lang.IllegalArgumentException,
                                                 java.lang.IndexOutOfBoundsException

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:
  `java.lang.IndexOutOfBoundsException` - if a UTF character sequence at the end of the data is not complete.
  `java.lang.IllegalArgumentException` - if an illegal UTF sequence is encountered.

#### stringToBytes

    public static byte[] stringToBytes(java.lang.String string)

Converts strings to byte arrays.

Parameters:
  `string` - the string to convert.
Returns:
  the UTF byte array.