Package 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
`UtfOps()`

### Method Summary

All Methods Static Methods Concrete 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.
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.

#### 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
Returns:
  the byte offset after converting the bytes.
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.