 
- Java I18N - Home
- Java I18N - Overview
- Java I18N - Environment Setup
- Locale Class Examples
- Java I18N - Locale Class
- Java I18N - Locale Details
- Java I18N - Display Language
- ResourceBundle Class Examples
- Java I18N - ResourceBundle Class
- NumberFormat Class Examples
- Java I18N - NumberFormat Class
- Java I18N - Format Currencies
- Java I18N - Format Percentages
- Java I18N - Set Min/Max Precision
- Java I18N - Set Rounding Mode
- Java I18N - Parsing Numbers
- DecimalFormat Class Examples
- Java I18N - DecimalFormat Class
- Java I18N - Formatting Patterns
- Java I18N - Locale Specific DecimalFormat
- Java I18N - DecimalFormatSymbols Class
- Java I18N - Grouping Digits
- DateFormat Class Examples
- Java Java - DateFormat Class
- Java I18N - Formatting Dates
- Java I18N - Formatting Time
- Java I18N - Formatting Date and Time
- SimpleDateFormat Class Examples
- Java I18N - SimpleDateFormat Class
- Java I18N - Formatting Date
- Java I18N - DateFormatSymbols Class
- Java I18N - Date Format Patterns
- Time Zones Examples
- Java I18N - UTC
- Unicode Conversion
- Java I18N - From and To String Conversion
- Java I18N - From Reader and To Writer Conversion
- Related Tutorials
- Java Tutorial
- JDBC Tutorial
- SWING Tutorial
- AWT Tutorial
- Servlets Tutorial
- JSP Tutorial
- Java I18N Useful Resources
- Java I18N - Quick Guide
- Java I18N - Useful Resources
- Java I18N - Discussion
Java Internationalization - Unicode Conversion from/to String
In java, text is internally stored in Unicode format. If input/output is in differnt format then conversion is required.
Conversion
Following example will showcase conversion of a Unicode String to UTF8 byte[] and UTF8 byte[] to Unicode byte[].
Example
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.text.ParseException;
public class I18NTester {
   public static void main(String[] args) throws ParseException, UnsupportedEncodingException {
      String unicodeString = "\u00C6\u00D8\u00C5" ;
      //convert Unicode to UTF8 format
      byte[] utf8Bytes = unicodeString.getBytes(Charset.forName("UTF-8"));
      printBytes(utf8Bytes, "UTF 8 Bytes");
      //convert UTF8 format to Unicode
      String converted = new String(utf8Bytes, "UTF8");
      byte[] unicodeBytes = converted.getBytes();
      printBytes(unicodeBytes, "Unicode Bytes");
   }
   public static void printBytes(byte[] array, String name) {
      for (int k = 0; k < array.length; k++) {
         System.out.println(name + "[" + k + "] = " + array[k]);
          
      }
   }
}
Output
It will print the following result.
UTF 8 Bytes[0] = -61 UTF 8 Bytes[1] = -122 UTF 8 Bytes[2] = -61 UTF 8 Bytes[3] = -104 UTF 8 Bytes[4] = -61 UTF 8 Bytes[5] = -123 Unicode Bytes[0] = -58 Unicode Bytes[1] = -40 Unicode Bytes[2] = -59
Advertisements