org.apache.vinci.transport.util
Class UTFConverter

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

public class UTFConverter
extends java.lang.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
static java.lang.String FALSE_VALUE
           
static java.lang.String TRUE_VALUE
           
 
Method Summary
static int calculateUTFLength(char[] inputArray, int startOffset, int endOffset)
          Calculate the UTF-8 length of a character array.
static int calculateUTFLength(java.lang.String inputString)
          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[] convertStringToUTF(java.lang.String inputString)
          Convert a Java String to UTF-8.
static int convertStringToUTF(java.lang.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 java.lang.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 Detail

TRUE_VALUE

public static final java.lang.String TRUE_VALUE
See Also:
Constant Field Values

FALSE_VALUE

public static final java.lang.String FALSE_VALUE
See Also:
Constant Field Values
Method Detail

convertUTFToFloat

public static float convertUTFToFloat(byte[] bytearr)
                               throws java.io.UTFDataFormatException,
                                      java.lang.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:
java.io.UTFDataFormatException
java.lang.NumberFormatException

convertUTFToDouble

public static double convertUTFToDouble(byte[] bytearr)
                                 throws java.io.UTFDataFormatException,
                                        java.lang.NumberFormatException
Convert the UTF-8 contents of a byte array to a double.

Parameters:
bytearr - Array of bytes.
Returns:
double.
Throws:
java.io.UTFDataFormatException
java.lang.NumberFormatException

convertUTFToBool

public static boolean convertUTFToBool(byte[] bytearr)
                                throws java.io.UTFDataFormatException
Convert the UTF-8 contents of a byte array to a boolean.

Parameters:
bytearr - Array of bytes.
Returns:
boolean.
Throws:
java.io.UTFDataFormatException

convertUTFToInt

public static int convertUTFToInt(byte[] bytearr)
                           throws java.io.UTFDataFormatException,
                                  java.lang.NumberFormatException
Convert the UTF-8 contents of a byte array to an int.

Parameters:
bytearr - Array of bytes.
Returns:
int.
Throws:
java.io.UTFDataFormatException
java.lang.NumberFormatException

convertUTFToLong

public static long convertUTFToLong(byte[] bytearr)
                             throws java.io.UTFDataFormatException,
                                    java.lang.NumberFormatException
Convert the UTF-8 contents of a byte array to a long.

Parameters:
bytearr - Array of bytes.
Returns:
long.
Throws:
java.io.UTFDataFormatException
java.lang.NumberFormatException

convertUTFToString

public static java.lang.String convertUTFToString(byte[] bytearr)
                                           throws java.io.UTFDataFormatException
Convert the UTF-8 contents of a byte array to a Java String.

Parameters:
bytearr - Array of bytes.
Returns:
String.
Throws:
java.io.UTFDataFormatException

convertUTFToString

public static int convertUTFToString(byte[] bytearr,
                                     int beginOffset,
                                     int inputLength,
                                     char[] result)
                              throws java.io.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:
java.io.UTFDataFormatException

convertStringToUTF

public static byte[] convertStringToUTF(java.lang.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(java.lang.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(java.lang.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.


Copyright © 2010 The Apache Software Foundation. All Rights Reserved.