método getBytes()

jquijado
23 de Marzo del 2002
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.

pakico
23 de Marzo del 2002
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í.