Bienvenido

El club del programador abre sus puertas, ya puedes ser parte de esta comunidad en constante crecimiento. Consigue tu membresía y accede al instante a tutoriales, y recursos exclusivos,realizar comentarios, foros, y mucho más... por supuesto es gratis!

Síguenos en

Facebook Twitter RSS

Ya tengo una cuenta

[Snippets] – Transformar caracteres Unicode a String

Uno de los problemas más comunes, cuando trabajamos en Castellano o en otros idiomas diferentes al inglés, es la representación de caracteres que no se encuentran en la codificación ASCII, representar la ñ para el castellano, o los simbolos del Euro (€), o Yen (¥) son generalmente una tarea engorrosa sino sabemos que implementación utilizar. Como la codificación ASCII es muy limitada, lo usual que se hace en estos casos es representar dichos caracteres en formato Unicode (Codificación de Caracteres universal, uniforme y único).Te explicaremos como representar cualquier caracter en formato  unicode y transformarlo a String en Java.

Los caracteres en Unicode tienen una longitud de16 bits (UTF-8 / UTF-16 son los más utilizados) al igual que la longitud de los valores para el tipo de dato Char en Java, por lo que este tipo de dato puede almacenar cualquier caracter de estos.

Utilizaremos el método charAt(int index) de la clase String, que retorna un caracter Unicode en el indice que le especifiquemos, y si lo combinamos con el método append() de la Clase StringBuilder, la cual acepta l tipo de dato char tenemos la combinación que necesitamos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class UnicodeChars {

public static void main(String[] argv) {

StringBuffer b = new StringBuffer();

for (char c = 'a'; c <= 'd'; c++) {

b.append(c);

}

b.append('\u00a5'); // simbolo del Yen

b.append('\u01FC'); // simbolo Romano AE acentuado

b.append('\u0391'); // Letra Alpha Griega

b.append('\u03A9'); // Letra Omega Griega

b.append('\u00d1'); // Letra Ñ Castellano

for (int i = 0; i < b.length(); i++) {

System.out.println("Caracter #" + i + " es " + b.charAt(i));

}

System.out.println("Toda la cadena " + b);

}

}

 

Esta clase nos genera una salida como esta

Caracter #0 es a
Caracter #1 es b
Caracter #2 es c
Caracter #3 es d
Caracter #4 es ¥
Caracter #5 es ?
Caracter #6 es ?
Caracter #7 es O
Caracter #8 es Ñ
Toda la cadena abcdefghijklmnopqrstuvwxyz¥??OÑ

 

 

 

por en Java , Snippets el 20/10/2011 | Puedes seguir los comentarios a esta entrada a través de RSS . Puedes dejar el tuyo, o un trackback de tu propio site.
Acerca de

Ingeniero de Software, co-fundador y editor de elclubdelprogramador, se autodefine como un entusiasta de las nuevas tecnologías, tiene amplia experiencia en entornos Java, pero ha trabajado con todo, PHP, .Net, Ruby, Python, desde Sistemas de Telecomunicaciones hasta portales web.

2 Comentarios para [Snippets] – Transformar caracteres Unicode a String
    • Norfin_88
    • Buen día Carlos, muy buen aporte, pero ¿cómo podría hacer para que al momento de ingresar un apalabra de tipo string que contenga la letra Ñ mediante Scanner la procese como Ñ?

Deja tu comentario