Foros del Web » Programación para mayores de 30 ;) » Java »

como imprimir datos de byte a hexa?

Estas en el tema de como imprimir datos de byte a hexa? en el foro de Java en Foros del Web. como estan, escribo porque no se como puedo imprimir un arreglo de bytes con el system.out.print lo que tengo es esta variable: byte[] datos; la ...
  #1 (permalink)  
Antiguo 14/11/2008, 18:32
Avatar de cocu3  
Fecha de Ingreso: diciembre-2007
Mensajes: 235
Antigüedad: 16 años, 4 meses
Puntos: 6
como imprimir datos de byte a hexa?

como estan, escribo porque no se como puedo imprimir un arreglo de bytes con el system.out.print

lo que tengo es esta variable:

byte[] datos;

la cual tiene varios datos, pero cuando le doy:

System.out.print("\n"+datos);

los datos se imprimen en caracteres y no en numeros, o sea se imprimen los caracteres UTF8 que tiene la variable almacenados pero no los datos como tal:

gEO¹I

como puedo ver los datos que hay en la variable en formato hexadecimal???

saludos
  #2 (permalink)  
Antiguo 16/11/2008, 00:09
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: como imprimir datos de byte a hexa?

Hola,

Al usar ...

System.out.print("\n"+datos);

... no se imprimen los caracteres UTF-8, sino la dirección de memoria donde está almacenado el array de bytes (o un hash que supuestamente es la dirección de memoria). Para imprimir cada uno de los bytes, tienes que recorrer el arreglo, uno a uno e imprimirlo en pantalla.

Código:
	byte[] b = {0x13, 0x14, 0x15, 0x16};
	for (int i = 0; i < b.length; i++) {
		System.out.printf("%d\n", b[i]); // DECIMAL
		System.out.printf("%h\n", b[i]); // HEXADECIMAL
		System.out.println(Integer.toHexString(b[i]));
	}
Saludos,
  #3 (permalink)  
Antiguo 16/11/2008, 20:31
Avatar de cocu3  
Fecha de Ingreso: diciembre-2007
Mensajes: 235
Antigüedad: 16 años, 4 meses
Puntos: 6
Respuesta: como imprimir datos de byte a hexa?

gracias amigo, veo que esa es la unica manera de poder ver los datos en hexa, lo malo para mi es que los datos son bastantes y me tocaria gastar mucho tiempo convirtiendolos uno por uno solo para visualizarlos

saluds
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:06.