În acest program, veți învăța diferite tehnici pentru a converti matricea de octeți în hexazecimal în Java.
Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare Java:
- Matrice Java
- Clasa și obiecte Java
Exemplul 1: convertiți Byte Array în valoare Hex
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); ) ) )
Ieșire
0A020F0B
În programul de mai sus, avem o matrice de octeți numită octeți. Pentru a converti octet matrice la o valoare hex, parcurgem fiecare octet în matrice și utilizarea String
lui format()
.
Folosim %02X
pentru a imprima două locuri ( 02
) de X
valoare Hexadecimal ( ) și a le stoca în șirul st.
Acesta este un proces relativ mai lent pentru conversia matricei de octeți mari. Putem crește dramatic viteza de execuție folosind operațiile de octeți prezentate mai jos.
Exemplul 2: Conversia matricei de octeți în valoare Hex folosind operații de octeți
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); ) )
Ieșirea programului este aceeași cu Exemplul 1 .