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

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.

Copyright (c) 1996, 2017 Oracle and/or its affiliates. All rights reserved.