English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java Управление потоком

Java Массивы

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Список (List)

Java Queue (очередь)

Java Map коллекции

Java Set коллекции

Java Вход/Выход (I/O)

Java Reader/Writer

Другие темы 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.format().

Мы используем %02X для печати двух позиций шестнадцатеричного значения (02) и храним его в строке 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 < bytes.length; j++) {
            int v = bytes[j] & 0xFF;
            hexChars[j * 2] = hexArray[v >>> 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.

Java полные примеры