Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: WHK en 28 Abril 2015, 01:41 AM

Título: Integer octal a char?
Publicado por: WHK en 28 Abril 2015, 01:41 AM
Hola, estoy intentando de reparar una conversión pero me está costando un poco :P

Tengo la palabra "hola" el cual convertido a valores octales me da como resultado: 150 157 154 141, ahora necesito transformar esos valores (como cadena de string) a la palabra "hola" nuevamente.

Lo que hice fue separar cada valor en un array y luego lo recorro en un for() asi que el valor ya lo tengo en string, lo convierto en integer y ahora tengo la variable:

int h = 150;

Ahora intento transformarlo a la letra "h" de la siguiente manera:

String h_result = Integer.toString(h, 8); // base 8

Me da como resultado: 226 ???? supuse que tenía que haber retornado un string o en este caso la letra "h" pero me retornó un 226 :-/ ... suponiendo que era un valor decimal procedo a convertirlo a char:

String h_str = (char)Integer.parseInt(h_result);

Y me retorna un carácter raro: "".

Que hice mal?
Título: Re: Integer octal a char?
Publicado por: daryo en 28 Abril 2015, 02:03 AM
acabo de probar esto:
Código (java) [Seleccionar]

int h=150;
Integer ascii = Integer.parseInt(Integer.toString(h), 8);
char num=(char)ascii.intValue();
System.out.println(num);
Título: Re: Integer octal a char?
Publicado por: WHK en 28 Abril 2015, 02:11 AM
Muchas gracias :D aunque no veop mucha diferencia con lo que hice, algo hice mal y no se que es xd
Título: Re: Integer octal a char?
Publicado por: daryo en 28 Abril 2015, 02:19 AM
bueno sucede que  el proceso esta al revez,
si tenemos el decimal 150 el octal es 226
Título: Re: Integer octal a char?
Publicado por: WHK en 28 Abril 2015, 02:40 AM
Entonces 150 157 154 141 no es el valor octal de hola? porque el decimal es 104 111 108 97

Edito: ya entendí :-/ muchas gracias :)