V tomto programe sa naučíte rôzne techniky na prevod bajtového poľa na hexadecimálne v jazyku Java.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Java:
- Java polia
- Trieda Java a objekty
Príklad 1: Prevod bajtového poľa na hexadecimálnu hodnotu
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); ) ) )
Výkon
0A020F0B
Vo vyššie uvedenom programe máme bajtové pole s názvom bajty. Aby sme previedli bajtové pole na hexadecimálnu hodnotu, prešli sme cez každý bajt v poli a použili sme znak String
's format()
.
Zvykneme %02X
tlačiť dve miesta ( 02
) Hexadecimálnej ( X
) hodnoty a ukladať ich do reťazca st.
Jedná sa o relatívne pomalší proces konverzie veľkých bajtových polí. Rýchlosť vykonávania môžeme dramaticky zvýšiť pomocou bajtových operácií uvedených nižšie.
Príklad 2: Prevod bajtového poľa na hexadecimálnu hodnotu pomocou bajtových operácií
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); ) )
Výstup programu je rovnaký ako v príklade 1 .