Program w języku Java do konwersji tablicy bajtów na szesnastkowy

W tym programie nauczysz się różnych technik konwersji tablicy bajtów na szesnastkową w Javie.

Aby zrozumieć ten przykład, należy znać następujące tematy dotyczące programowania w języku Java:

  • Tablice Java
  • Klasa i obiekty Java

Przykład 1: Konwertuj tablicę bajtów na wartość szesnastkową

 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); ) ) )

Wynik

 0A020F0B

W powyższym programie mamy tablicę bajtów o nazwie bajty. Aby przekonwertować tablicę bajtów na wartość szesnastkową, przechodzimy przez każdy bajt w tablicy i używamy String's format().

Używamy %02Xdo wypisania dwóch miejsc ( 02) wartości Hexadecimal ( X) i zapisania jej w łańcuchu st.

Jest to stosunkowo wolniejszy proces konwersji dużej tablicy bajtów. Możemy radykalnie zwiększyć szybkość wykonania za pomocą operacji bajtowych pokazanych poniżej.

Przykład 2: Konwersja tablicy bajtów na wartość szesnastkową za pomocą operacji na bajtach

 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); ) )

Dane wyjściowe programu są takie same, jak w przykładzie 1 .

Interesujące artykuły...