método getBytes()
Hola:
Tengo un problemilla con el método getBytes() de la clase String. Como sabeÃs, este método permite obtener los códigos ASCII de los caracteres que forman una cadena y los almacena en una matriz numérica. El problema es que la matriz ha de esatar declarada, necesariamente, como de tipo byte[]. Si no, se produce un error de compilación. Pero ¿que ocurre si los caracteres de la cadena tienen un código ASCII superior a 127? Que la matriz almacena números negativos. En concreto he probado lo siguiente:
public class Conversor
{
public static void main (String args[])
{
String cadena = new String ("éâä");
byte valores[] = new byte [cadena.length()];
valores = cadena.getBytes();
System.out.println (valores[0]);
System.out.println (valores[1]);
System.out.println (valores[2]);
}
}
Como veis, la cadena está formada por caracteres que tienen los códigos ASCII 130, 131 y 132. ¿Como puedo obtener los códigos ASCII de una cadena asÃ? Existe algún otro método similar a getBytes() pero para todos los códigos ASCII?
Gracias a todos.
Tengo un problemilla con el método getBytes() de la clase String. Como sabeÃs, este método permite obtener los códigos ASCII de los caracteres que forman una cadena y los almacena en una matriz numérica. El problema es que la matriz ha de esatar declarada, necesariamente, como de tipo byte[]. Si no, se produce un error de compilación. Pero ¿que ocurre si los caracteres de la cadena tienen un código ASCII superior a 127? Que la matriz almacena números negativos. En concreto he probado lo siguiente:
public class Conversor
{
public static void main (String args[])
{
String cadena = new String ("éâä");
byte valores[] = new byte [cadena.length()];
valores = cadena.getBytes();
System.out.println (valores[0]);
System.out.println (valores[1]);
System.out.println (valores[2]);
}
}
Como veis, la cadena está formada por caracteres que tienen los códigos ASCII 130, 131 y 132. ¿Como puedo obtener los códigos ASCII de una cadena asÃ? Existe algún otro método similar a getBytes() pero para todos los códigos ASCII?
Gracias a todos.
No lo he probado, pero prodrias probar ha tomar caracter a caracter y corvertirlo a tipo "char" este tipo es un int que guarda es valor ascii de un caracter:
Character x = new Character("é");
y la conversion no se si es:
char y = (char) x;
o bien algo de este estilo (no tengo ahora mismo el javadoc):
char y = (char) x.char; o x.toChar();
No se si te servirá pero los tiros van por ahÃ.
Character x = new Character("é");
y la conversion no se si es:
char y = (char) x;
o bien algo de este estilo (no tengo ahora mismo el javadoc):
char y = (char) x.char; o x.toChar();
No se si te servirá pero los tiros van por ahÃ.