Pocos editores de texto soportan actualmente texto Unicode. El editor de texto que hemos utilizado para escribir los códigos de ejemplo de esta lección sólo soporta caracteres ASCII, que están limitados a 7 bits. Para indicar un caracter Unicode que no puede ser representado en ASCII, como "ö," hemos utilizado la secuencia de escape '\udddd'. Cada "d" en la secuencia de escape es un dígito hexadecimal. El siguiente ejemplo muestra cómo indicar el caracter "ö" con una secuencia de escape:
String str = "\u00F6";
char c = '\u00F6';
Character letter = new Character('\u00F6');
No tenemos que especificar al secuencia de escape Unicode para caracteres ASCII. Cuando se leen ficheros ASCII o ISO Latin-1, el entorno de ejecución de Java convierte automáticamente los caracteres a Unicode. Sin embargo, si se quiere convertir texto desde otras codificaciones a Unicode, debemos realizar las conversiones nosotros mismos.
En esta lección se explica el API que se utiliza para traducir texto no-Unicode a Unicode. Antes de utilizar estos APIs, deberíamos verificar que la codificación que queremos convertir está soportada. La lista de codificaciones soportadas no forma parte de la especificación del lenguaje de programación Java. Por lo tanto, podría variar con las plataformas. Para ver las codificaciones soportadas por el JDK, puedes ver la sección "Supported Encodings" en la documentación Internationalization Overview.
Las siguientes secciones describen dos técnicas para convertir texto no-Unicode:
Esta sección muestra cómo convertir arrays de bytes no-Unicode en objetos Strings, y vice-versa.
En esta sección aprenderás como traducir entre streams de caracteres Unicode y streams de bytes con texto no-Unicode.