Package org.apache.vinci.transport.util
Class UTFConverter
java.lang.Object
org.apache.vinci.transport.util.UTFConverter
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 -
Method Summary
Modifier and TypeMethodDescriptionstatic intcalculateUTFLength(char[] inputArray, int startOffset, int endOffset) Calculate the UTF-8 length of a character array.static intcalculateUTFLength(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 intconvertStringToUTF(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(String inputString) Convert a Java String to UTF-8.static intconvertStringToUTF(String inputString, byte[] resultArray) Convert the given char[] input into UTF-8 and place in the destination buffer.static booleanconvertUTFToBool(byte[] bytearr) Convert the UTF-8 contents of a byte array to a boolean.static doubleconvertUTFToDouble(byte[] bytearr) Convert the UTF-8 contents of a byte array to a double.static floatconvertUTFToFloat(byte[] bytearr) Convert the UTF-8 contents of a byte array of UTF-8 bytes to a float.static intconvertUTFToInt(byte[] bytearr) Convert the UTF-8 contents of a byte array to an int.static longconvertUTFToLong(byte[] bytearr) Convert the UTF-8 contents of a byte array to a long.static StringconvertUTFToString(byte[] bytearr) Convert the UTF-8 contents of a byte array to a Java String.static intconvertUTFToString(byte[] bytearr, int beginOffset, int inputLength, char[] result) Convert the UTF-8 contents of a byte array to a Java String.
-
Field Details
-
TRUE_VALUE
- See Also:
-
FALSE_VALUE
- See Also:
-
-
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 improperlyNumberFormatException- 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 improperlyNumberFormatException- if conversion to a number can't be done
-
convertUTFToBool
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 improperlyNumberFormatException- 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 improperlyNumberFormatException- if conversion to a number can't be done
-
convertUTFToString
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
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
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
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.
-