U ovom ćete programu naučiti različite tehnike pretvaranja bajtnog niza u heksadecimalni u Javi.
Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja Java:
- Java nizovi
- Java klasa i objekti
Primjer 1: Pretvori bajtni niz u heksadecimalnu vrijednost
public class ByteHex ( public static void main(String() args) ( byte() bytes = (10, 2, 15, 11); for (byte b : bytes) ( String st = String.format("%02X", b); System.out.print(st); ) ) )
Izlaz
0A020F0B
U gornjem programu imamo bajtni niz s imenom bajtovi. Da bismo bajt niz pretvorili u heksadecimalnu vrijednost, petlju prolazimo kroz svaki bajt u nizu i koristimo String
's' format()
.
Mi koristimo %02X
za ispis na dva mjesta ( 02
) od heksadecimalni ( X
) vrijednosti i pohraniti ga u string st.
Ovo je relativno sporiji postupak za pretvorbu niza velikih bajtova. Brzo izvršavanje možemo dramatično povećati pomoću dolje prikazanih bajt operacija.
Primjer 2: Pretvorba bajt polja u heksadecimalnu vrijednost pomoću bajt operacija
public class ByteHex ( private final static char() hexArray = "0123456789ABCDEF".toCharArray(); public static String bytesToHex(byte() bytes) ( char() hexChars = new char(bytes.length * 2); for ( int j = 0; j >> 4); hexChars(j * 2 + 1) = hexArray(v & 0x0F); ) return new String(hexChars); ) public static void main(String() args) ( byte() bytes = (10, 2, 15, 11); String s = bytesToHex(bytes); System.out.println(s); ) )
Rezultat programa jednak je primjeru 1 .