Originariamente inviato da Sampy84
alla fine ho risolto andando a creare e richiamare questo metodo, che ne pensi??
Che ha poco senso ..... lo avrebbe forse solo se ti fosse stato chiesto (per qualunque motivo .... "didattico" o altro) di fare espressamente il passaggio valore -> stringa binaria -> stringa esadecimale.
Ma in ogni caso hai solo fatto un metodo lungo e fumoso.
codice:
public static String byteToHexString(byte b) {
String s = Integer.toHexString(b & 0xFF).toUpperCase();
return s.length() == 1 ? "0"+s : s;
}
E se si voleva farlo senza usare metodi del framework ma solo con dei calcoli, si poteva anche fare:
codice:
private static final char[] hexDigits = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' };
public static String byteToHexString(byte b) {
return "" + hexDigits[b >> 4 & 0xF] + hexDigits[b & 0xF];
}