Foro de elhacker.net

Programación => 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:

Código:
int h = 150;

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

Código:
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:

Código:
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
  1. int h=150;
  2. Integer ascii = Integer.parseInt(Integer.toString(h), 8);
  3. char num=(char)ascii.intValue();
  4. System.out.println(num);
  5.  


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 :)