In dit programma leer je verschillende technieken om byte-array naar hexadecimaal in Java te converteren.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:
- Java-arrays
- Java-klasse en objecten
Voorbeeld 1: converteer Byte Array naar Hex-waarde
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); ) ) )
Uitvoer
0A020F0B
In het bovenstaande programma hebben we een byte-array met de naam bytes. Om een byte-array naar een hexadecimale waarde te converteren, doorlopen we elke byte in de array en gebruiken we String
's format()
.
We gebruiken %02X
om twee plaatsen ( 02
) van hexadecimale ( X
) waarde af te drukken en op te slaan in de string st.
Dit is een relatief langzamer proces voor arrayconversie met grote bytes. We kunnen de uitvoeringssnelheid drastisch verhogen met behulp van onderstaande bytebewerkingen.
Voorbeeld 2: converteer Byte Array naar Hex-waarde met behulp van bytebewerkingen
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); ) )
De output van het programma is hetzelfde als in Voorbeeld 1 .