Hola,
bueno, explico mi programa.
Para introducir, estoy usando la librería JPcap para manejar los paquetes y demás cosas,
Primero meto en
byte b = tarjetas.mac_address[r];
que sería la tarjeta de red en cuestión y la MAC en código binario.
Para convertirlo, lo paso a hexadecimal así:
macad[r]=(Integer.toHexString(b & 0xff));
Lo malo, es que, por ejemplo, la MAC de mi portátil empieza por "00:"
siendo una cadena de bits tal que "0000 0000", y al convertirlo a hexadecimal me queda "0:"
¿cuál sería la forma de hacer que me imprimiese los dos 0?
gracias,
Nunca hecho algo asi en Java, pero en C/C++
uso
printf("%p\n",0x0000);
El cual me imprime en formato de puntero (igual es muy util)
en java podrias hacer lo mismo pero con esto
System.out.printf("%p\n",0x0000);
No se si exista formato "p" en java podrias intentar usar el "x" pero ese solo muestra un 0 en vez de 2.
Saludos!!
gracias, de todas formas, ya encontré un método que al parecer va mejor
System.out.print(" dir origen: ");
for (int i = 0; i < 6; i++) {
System.out.format("%02X%s", macOrigen, (i < macOrigen.length - 1) ? "-" : "");
}