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

String a Byte Hexadecimal

Estas en el tema de String a Byte Hexadecimal en el foro de Java en Foros del Web. Hola amigos del foro, me gustaría que me ayudaran, quisiera hacer una conversión de string a byte de la siguiente manera String l = "ffff"; ...
  #1 (permalink)  
Antiguo 28/01/2012, 20:09
 
Fecha de Ingreso: septiembre-2011
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 0
Información String a Byte Hexadecimal

Hola amigos del foro, me gustaría que me ayudaran, quisiera hacer una conversión de string a byte de la siguiente manera

String l = "ffff";

de modo que quiero separarlo en 2 cadenas y obtener el siguiente valor;

byte c = (byte)0xff
byte d = (byte)0xff

una ayuda por favor...
  #2 (permalink)  
Antiguo 28/01/2012, 22:19
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 3 meses
Puntos: 57
Respuesta: String a Byte Hexadecimal

Para transformar una cadena en un numero utilizando una base numerica especifica puedes utilizar Byte.parseByte

Pero byte no te serviria para transformar 0xFF. El tipo primitivo byte de Java acepta un byte con signo. Eso significa que los valores van desde -128 hasta 127. Si tratas de transformar 0xFF a byte te va a causar una exception
Primitive Data Types

Tendrias que utilizar Integer.parseInt
  #3 (permalink)  
Antiguo 28/01/2012, 23:47
 
Fecha de Ingreso: septiembre-2011
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: String a Byte Hexadecimal

tengo esta función y asi como tu dices no funciona, me manda esta excepción
Cita:
Exception in thread "main" java.lang.NumberFormatException: For input string: "f"
Cita:
public byte [] ochoBits (int b) {
byte [] ocho = null;
String c = Integer.toHexString(b);
System.out.println(c.length());
if (c.length() == 4) {
ocho [0] = Byte.parseByte(c.substring(0, 1));
ocho [1] = Byte.parseByte(c.substring(2, 3));
} else if (c.length() == 3) {
System.out.print(c+"tres");
} else if (c.length() == 2) {
System.out.print(c+"dos");
} else if (c.length() == 1) {
System.out.print(c+"uno");
}
return ocho;
}
  #4 (permalink)  
Antiguo 29/01/2012, 10:15
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 3 meses
Puntos: 57
Respuesta: String a Byte Hexadecimal

Como te dije, Byte no te va a servir. Debes utilizar la clase Integer.

Ademas no estas indicando la base en la que esta la cadena que quieres convertir (2,10,16, etc)

Etiquetas: hexadecimales, string, byte
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 14:09.