Class UTFConverter

java.lang.Object
org.apache.vinci.transport.util.UTFConverter

public class UTFConverter extends Object
Provides utility methods for Java string <==> UTF-8 conversion. We don't use the default Java methods for UTF-8 since they are non-standard and not as efficient as this implementation.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    static final String
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static int
    calculateUTFLength(char[] inputArray, int startOffset, int endOffset)
    Calculate the UTF-8 length of a character array.
    static int
    Calculate the UTF-8 length of a Java String.
    static byte[]
    convertStringToUTF(char[] inputArray, int startOffset, int endOffset)
    Convert a String from a character array to UTF-8.
    static int
    convertStringToUTF(char[] inputArray, int startOffset, int endOffset, byte[] resultArray)
    Convert the given char[] input into UTF-8 and place in the destination buffer.
    static byte[]
    Convert a Java String to UTF-8.
    static int
    convertStringToUTF(String inputString, byte[] resultArray)
    Convert the given char[] input into UTF-8 and place in the destination buffer.
    static boolean
    convertUTFToBool(byte[] bytearr)
    Convert the UTF-8 contents of a byte array to a boolean.
    static double
    convertUTFToDouble(byte[] bytearr)
    Convert the UTF-8 contents of a byte array to a double.
    static float
    convertUTFToFloat(byte[] bytearr)
    Convert the UTF-8 contents of a byte array of UTF-8 bytes to a float.
    static int
    convertUTFToInt(byte[] bytearr)
    Convert the UTF-8 contents of a byte array to an int.
    static long
    convertUTFToLong(byte[] bytearr)
    Convert the UTF-8 contents of a byte array to a long.
    static String
    convertUTFToString(byte[] bytearr)
    Convert the UTF-8 contents of a byte array to a Java String.
    static int
    convertUTFToString(byte[] bytearr, int beginOffset, int inputLength, char[] result)
    Convert the UTF-8 contents of a byte array to a Java String.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Method Details

    • convertUTFToFloat

      public static float convertUTFToFloat(byte[] bytearr) throws UTFDataFormatException, NumberFormatException
      Convert the UTF-8 contents of a byte array of UTF-8 bytes to a float.
      Parameters:
      bytearr - Array of bytes.
      Returns:
      float.
      Throws:
      UTFDataFormatException - if the UTF-8 is encoded improperly
      NumberFormatException - if conversion to a number can't be done
    • convertUTFToDouble

      public static double convertUTFToDouble(byte[] bytearr) throws UTFDataFormatException, NumberFormatException
      Convert the UTF-8 contents of a byte array to a double.
      Parameters:
      bytearr - Array of bytes.
      Returns:
      double.
      Throws:
      UTFDataFormatException - if the UTF-8 is encoded improperly
      NumberFormatException - if conversion to a number can't be done
    • convertUTFToBool

      public static boolean convertUTFToBool(byte[] bytearr) throws UTFDataFormatException
      Convert the UTF-8 contents of a byte array to a boolean.
      Parameters:
      bytearr - Array of bytes.
      Returns:
      boolean.
      Throws:
      UTFDataFormatException - if the UTF-8 is encoded improperly
    • convertUTFToInt

      public static int convertUTFToInt(byte[] bytearr) throws UTFDataFormatException, NumberFormatException
      Convert the UTF-8 contents of a byte array to an int.
      Parameters:
      bytearr - Array of bytes.
      Returns:
      int.
      Throws:
      UTFDataFormatException - if the UTF-8 is encoded improperly
      NumberFormatException - if conversion to a number can't be done
    • convertUTFToLong

      public static long convertUTFToLong(byte[] bytearr) throws UTFDataFormatException, NumberFormatException
      Convert the UTF-8 contents of a byte array to a long.
      Parameters:
      bytearr - Array of bytes.
      Returns:
      long.
      Throws:
      UTFDataFormatException - if the UTF-8 is encoded improperly
      NumberFormatException - if conversion to a number can't be done
    • convertUTFToString

      public static String convertUTFToString(byte[] bytearr) throws UTFDataFormatException
      Convert the UTF-8 contents of a byte array to a Java String.
      Parameters:
      bytearr - Array of bytes.
      Returns:
      String.
      Throws:
      UTFDataFormatException - if the UTF-8 is encoded improperly
    • convertUTFToString

      public static int convertUTFToString(byte[] bytearr, int beginOffset, int inputLength, char[] result) throws UTFDataFormatException
      Convert the UTF-8 contents of a byte array to a Java String.
      Parameters:
      bytearr - Array of bytes.
      beginOffset - Start offest to data in byte array.
      inputLength - Length of the data to convert.
      result - Character array containing the converted characters.
      Returns:
      The length of the converted characters.
      Throws:
      UTFDataFormatException - if the UTF-8 is encoded improperly
    • convertStringToUTF

      public static byte[] convertStringToUTF(String inputString)
      Convert a Java String to UTF-8.
      Parameters:
      inputString - String to convert.
      Returns:
      array of UTF-8 bytes.
    • convertStringToUTF

      public static byte[] convertStringToUTF(char[] inputArray, int startOffset, int endOffset)
      Convert a String from a character array to UTF-8.
      Parameters:
      inputArray - Array of characters to convert.
      startOffset - Start offset in character array.
      endOffset - One past the last character in the array.
      Returns:
      A byte array with the converted result.
    • calculateUTFLength

      public static int calculateUTFLength(char[] inputArray, int startOffset, int endOffset)
      Calculate the UTF-8 length of a character array.
      Parameters:
      inputArray - Array of characters.
      startOffset - Start offset of the data in the character array.
      endOffset - One past the last character in the array.
      Returns:
      The number of bytes in the UTF-8 representation.
    • calculateUTFLength

      public static int calculateUTFLength(String inputString)
      Calculate the UTF-8 length of a Java String.
      Parameters:
      inputString - The String to calculate the length of.
      Returns:
      The number of bytes in the UTF-8 representation.
    • convertStringToUTF

      public static int convertStringToUTF(char[] inputArray, int startOffset, int endOffset, byte[] resultArray)
      Convert the given char[] input into UTF-8 and place in the destination buffer. This method assumes the destination buffer is big enough to hold the output.
      Parameters:
      inputArray - Array of characters to convert.
      startOffset - Start offset in character array.
      endOffset - One past the last character in the array.
      resultArray - Byte array containing the converted characters.
      Returns:
      The number of characters in the UTF-8 representation.
    • convertStringToUTF

      public static int convertStringToUTF(String inputString, byte[] resultArray)
      Convert the given char[] input into UTF-8 and place in the destination buffer. This method assumes the destination buffer is big enough to hold the output.
      Parameters:
      inputString - String to convert.
      resultArray - Byte array containing the converted characters.
      Returns:
      the number of characters in the UTF-8 representation.