V tomto programu se naučíte různé techniky převodu bajtového pole na hexadecimální v jazyce Java.
Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:
- Java pole
- Třída Java a objekty
Příklad 1: Převést bajtové pole na hexadecimální 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ýstup
0A020F0B
Ve výše uvedeném programu máme bajtové pole s názvem bajty. Chcete-li převést bajtové pole na hexadecimální hodnotu, projdeme každý bajt v poli a použijeme String
's format()
.
Používáme %02X
k tisku dvou míst ( 02
) Hexadecimal ( X
) hodnoty a uložíme je do řetězce st.
Toto je relativně pomalejší proces převodu velkých bajtových polí. Můžeme dramaticky zvýšit rychlost provádění pomocí bajtových operací uvedených níže.
Příklad 2: Převod bajtového pole na hexadecimální hodnotu pomocí bajtových operací
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 stejný jako v příkladu 1 .