В этой программе вы изучите различные методы преобразования массива байтов в шестнадцатеричный формат в Java.
Чтобы понять этот пример, вы должны знать следующие темы программирования Java:
- Массивы Java
- Класс и объекты Java
Пример 1: преобразование байтового массива в шестнадцатеричное значение
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); ) ) )
Вывод
0A020F0B
В приведенной выше программе у нас есть массив байтов с именем bytes. Чтобы преобразовать байтовый массив в шестнадцатеричное значение, мы перебираем каждый байт в массиве и используем String
's format()
.
Мы используем %02X
для вывода двух знаков ( 02
) значения Hexadecimal ( X
) и сохраняем его в строке st.
Это относительно более медленный процесс преобразования массива больших байтов. Мы можем значительно увеличить скорость выполнения, используя байтовые операции, показанные ниже.
Пример 2: Преобразование байтового массива в шестнадцатеричное значение с помощью байтовых операций
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); ) )
Вывод программы такой же, как в Примере 1 .