logo
GeekFormat

Base64-Hex конвертер

Hex вход
0 символов

Онлайн-конвертер Base64-Hex для двунаправленного преобразования между шестнадцатеричными строками и кодировкой Base64. Поддерживает удаление префикса 0x, переключение регистра, преобразование в реальном времени и локальную обработку в браузере без отправки данных на сервер.

Похожие

Варианты использования

  • Анализ пакетов Wireshark: преобразование шестнадцатеричных дампов сетевых пакетов в Base64 для передачи в API или документацию
  • Отладка сетевых протоколов: быстрая конвертация между Hex и Base64 при исследовании бинарных протоколов
  • Криптографические исследования: преобразование ключей, хэшей и подписей между шестнадцатеричным форматом и Base64
  • Разработка API: конвертация бинарных данных в Base64 для передачи в JSON-запросах и обратно в Hex для отладки
  • Анализ вредоносного ПО: обработка шестнадцатеричных выгрузок из дизассемблеров и отладчиков
  • Работа с сертификатами: преобразование PEM/DER сертификатов и ключей между текстовыми форматами
  • Восстановление данных: конвертация Hex-дампов повреждённых файлов в Base64 и обратно
  • Тестирование вебхуков: подготовка бинарных полезных нагрузок в формате Base64 из шестнадцатеричных представлений
  • Сопоставление логов: сравнение данных в логах, записанных в разных форматах кодирования
  • Обработка данных IoT: преобразование бинарных тел MQTT/CoAP сообщений между Hex и Base64
  • Форензика: анализ шестнадцатеричных образов памяти и дисков с удобным переключением кодировок
  • Обучение сетевым технологиям: наглядное изучение соотношения между побайтовым и компактным текстовым представлением данных

Функции

  • Двунаправленное преобразование: конвертация Hex в Base64 и Base64 в Hex в одном инструменте с мгновенным переключением направления
  • Удаление префикса 0x: автоматическое определение и удаление префикса 0x из шестнадцатеричных строк при вводе
  • Переключатель регистра: выбор вывода Hex-символов в верхнем или нижнем регистре в соответствии с требованиями конкретного протокола
  • Преобразование в реальном времени: результат появляется немедленно при вводе без нажатия кнопок и задержек
  • Локальная обработка: все вычисления выполняются в браузере, данные не покидают ваше устройство
  • Поддержка разделителей: автоматическое распознавание пробелов, переносов строк и других разделителей в Hex-строках
  • Режим Wireshark: прямая совместимость с шестнадцатеричными дампами из Wireshark и других анализаторов пакетов
  • Копирование одним кликом: копирование результата в буфер обмена для использования в параметрах API или документации
  • Проверка корректности: встроенная валидация ввода с понятными сообщениями об ошибках при некорректных данных
  • Статистика в реальном времени: отображение количества байтов, символов входных и выходных данных для контроля
  • Совместимость с RFC 4648: соответствие стандарту кодировки Base64 согласно спецификации RFC 4648
  • Поддержка вложенных кодировок: возможность многократного преобразования между форматами без потери данных
  • История сессии: автоматическое сохранение последних преобразований для быстрого повторного доступа
  • Адаптивный интерфейс: удобная работа как на десктопе, так и на мобильных устройствах

Как использовать

  1. Выберите направление преобразования: Hex в Base64 или Base64 в Hex
  2. Вставьте данные в соответствующее поле ввода — преобразование запустится автоматически в реальном времени
  3. При необходимости включите опции: удаление префикса 0x или переключение на верхний/нижний регистр Hex
  4. Проверьте результат в выходном поле и убедитесь в корректности преобразования по статистике
  5. Скопируйте результат одним нажатием для дальнейшего использования

Часто задаваемые вопросы

В чём разница между Hex и Base64?

Hex (Base16) использует 2 символа на байт (100% накладные расходы), удобен для побайтового анализа и отладки. Base64 использует 4 символа на 3 байта (~33% накладных расходов), лучше подходит для передачи бинарных данных по текстовым протоколам и встраивания в JSON/HTML.

Зачем конвертировать Hex в Base64?

Чаще всего это нужно при отладке API: Wireshark и дизассемблеры выводят данные в Hex, а для передачи в JSON-запросы требуется Base64. Также Hex→Base64 используется при работе с криптографическими ключами, хэшами и бинарными полезными нагрузками вебхуков.

Зачем конвертировать Base64 в Hex?

Base64→Hex необходим для визуального анализа данных: в Hex-виде удобно изучать структуру бинарных протоколов, сравнивать байты с Wireshark-дампами, находить сигнатуры файлов и отлаживать криптографические операции.

Поддерживается ли удаление префикса 0x?

Да. Инструмент автоматически определяет и удаляет префикс 0x (в любом регистре) из входных Hex-строк. Например, строка 0xDEADBEEF будет обработана корректно, как и её вариант без префикса.

Можно ли копировать Hex прямо из Wireshark?

Да. Wireshark выводит пакеты группами по 2 Hex-цифры с пробелами. Инструмент автоматически игнорирует пробелы и переносы строк, так что можно просто выделить и скопировать дамп из Wireshark без дополнительной очистки.

Какой регистр Hex-вывода используется по умолчанию?

По умолчанию используется нижний регистр (как в выводе большинства Unix-утилит и Wireshark), но вы можете переключиться на верхний регистр, если этого требует протокол, сертификат или другое ПО.

Что такое паддинг в Base64?

Паддинг — это символы = в конце строки Base64, дополняющие вывод до кратности 4 символам. Паддинг добавляется, когда количество входных байтов не кратно трём. Инструмент сохраняет паддинг по умолчанию в соответствии с RFC 4648.

Можно ли использовать результат в API-запросах?

Да. Base64-вывод готов для вставки в JSON, формы и другие текстовые параметры API. Hex-вывод готов для использования в отладочных инструментах, тестах и документации.

Есть ли ограничение на размер входных данных?

Ограничение определяется производительностью вашего браузера. Типичный сценарий — работа с данными до нескольких мегабайт (ключи, токены, сетевые пакеты, фрагменты файлов) не вызывает проблем.

Почему вывод Hex и Base64 разной длины?

Hex использует 2 символа на каждый байт, Base64 — 4 символа на каждые 3 байта. Поэтому для тех же данных Base64 примерно на 25% короче, чем Hex. Статистика под полями ввода показывает фактическое количество байтов.

Поддерживается ли URL-Safe Base64?

В текущей версии используется стандартная кодировка Base64 по RFC 4648 с символами + и /. Для URL-Safe варианта (с - и _ вместо + и /) используйте специализированный инструмент Base64 URL-Safe.

Обрабатываются ли неверные входные данные?

Да. При вводе невалидных Hex-символов или некорректной строки Base64 инструмент отображает понятное сообщение об ошибке, указывающее на позицию и характер проблемы.

Данные отправляются на сервер?

Нет. Все преобразования выполняются локально в вашем браузере с использованием нативных JavaScript API (TextEncoder, atob, btoa с UTF-8 коррекцией). Данные не передаются по сети.

Можно ли конвертировать большие файлы?

Инструмент оптимизирован для работы с текстовыми представлениями данных (пакеты, ключи, токены). Для файлов используйте специализированные инструменты File to Base64 и File Hash.

Чем отличается от отдельных инструментов Hex и Base64?

Этот инструмент создан специально для частого сценария переключения между двумя форматами в процессе отладки. Он поддерживает функции, востребованные именно при анализе пакетов и протоколов: удаление 0x, игнорирование разделителей, переключение регистра и двунаправленность в одном интерфейсе.

Что такое конвертер Base64-Hex?

Конвертер Base64-Hex — это инструмент для двунаправленного преобразования между шестнадцатеричным (Hex) представлением байтов и кодировкой Base64. Оба формата используются для представления бинарных данных в текстовом виде, но решают разные задачи: Hex обеспечивает наглядное побайтовое отображение, идеальное для отладки и анализа, а Base64 — компактное представление для передачи по текстовым протоколам.

**Hex (Base16)** кодирует каждый байт двумя шестнадцатеричными цифрами (0-9, A-F или a-f), что даёт 100% накладных расходов (2 символа на байт). Этот формат доминирует в анализе пакетов (Wireshark, tcpdump), отладчиках, шестнадцатеричных редакторах и выводе криптографических функций, поскольку позволяет легко читать отдельные байты.

**Base64** (RFC 4648) кодирует каждые 3 байта в 4 символа из алфавита A-Z, a-z, 0-9, +, / (с паддингом =), обеспечивая 33% накладных расходов. Base64 — стандарт для встраивания бинарных данных в JSON, email (MIME), Data URI, JWT и HTTP Basic Auth, где требуется безопасная передача через текстовые каналы.

**Префикс 0x** часто используется в языках программирования (C, Python, JavaScript) и логах для обозначения шестнадцатеричных литералов (например, 0xDEADBEEF). Инструмент автоматически определяет и удаляет этот префикс при вводе, чтобы конвертация работала корректно без ручной очистки.

**Переключатель регистра** в Hex важен при работе с разными системами: одни протоколы и инструменты ожидают верхний регистр (например, сертификаты, некоторые хэши), другие — нижний (например, вывод Wireshark, Unix-утилиты). Инструмент позволяет переключать регистр одним кликом.

**Wireshark** и другие анализаторы пакетов выводят данные в Hex-формате с разделителями (группы по 2 символа через пробелы). Конвертер автоматически обрабатывает такие разделители, позволяя напрямую копировать дампы из Wireshark и получать корректный Base64 без ручной предобработки.

**Преобразование в реальном времени** означает, что при любом изменении входных данных результат пересчитывается автоматически без нажатия кнопки. Это особенно полезно при отладке протоколов, когда нужно быстро проверить множество значений подряд.

**Локальная обработка** гарантирует, что все преобразования выполняются исключительно в вашем браузере с использованием встроенных JavaScript API. Данные не передаются на сервер, что обеспечивает конфиденциальность при работе с чувствительной информацией — ключами, токенами, содержимым пакетов.

术语表

Hex (Base16)
Шестнадцатеричная кодировка, представляющая каждый байт двумя символами из диапазона 0-9 и A-F (или a-f). Используется для побайтового отображения бинарных данных в отладчиках, анализаторах пакетов и криптографии.
Base64
Бинарно-текстовая кодировка по RFC 4648, использующая 64 печатных символа (A-Z, a-z, 0-9, +, /) и символ паддинга =. Кодирует каждые 3 байта в 4 символа, обеспечивая накладные расходы около 33%.RFC 4648
RFC 4648
Стандарт IETF, определяющий кодировки Base16 (Hex), Base32 и Base64, включая алфавиты символов, правила паддинга и вариант URL-Safe.RFC 4648
Префикс 0x
Общепринятое обозначение шестнадцатеричного литерала в языках программирования (C, C++, Python, Java, JavaScript, Rust и других). Строка 0xFF означает десятичное число 255.
Wireshark
Популярный анализатор сетевых протоколов, отображающий захваченные пакеты в шестнадцатеричном формате с пробелами между байтами. Часто используется вместе с конвертером Base64-Hex при отладке сетевых взаимодействий.
Паддинг Base64
Символы = в конце строки Base64, дополняющие выходную длину до кратности 4. Добавляются, когда входные данные не кратны 3 байтам. Например, 1 байт → 2 символа + ==, 2 байта → 3 символа + =.
Локальная обработка
Модель выполнения, при которой все операции с данными происходят в браузере пользователя без отправки на удалённый сервер. Обеспечивает конфиденциальность и отсутствие сетевой задержки.
Накладные расходы кодировки
Увеличение размера данных при кодировании. Hex имеет 100% накладных расходов (удвоение размера), Base64 — около 33%. Это цена за представление бинарных данных в текстовом виде.
Двунаправленное преобразование
Возможность конвертировать данные из формата A в формат B и обратно без потери информации. Конвертер Base64-Hex поддерживает оба направления: Hex→Base64 и Base64→Hex.
Поток байтов
Последовательность байтов, составляющая бинарные данные. Hex представляет каждый байт парой символов, что делает поток байтов читаемым для человека и сравниваемым побайтово.
URL-Safe Base64
Вариант Base64 по RFC 4648 §5, в котором символы + и / заменены на - и _, а паддинг = часто опускается. Используется в JWT, OAuth PKCE, URL и именах файлов.
atob / btoa
Встроенные функции браузера для декодирования и кодирования Base64. Поддерживают только Latin-1 (1 байт на символ), поэтому для корректной работы с UTF-8 требуется дополнительная обработка через TextEncoder/TextDecoder.

Сравнение Hex и Base64

ХарактеристикаHex (Base16)Base64
Алфавит0-9, A-F (16 символов)A-Z, a-z, 0-9, +, / (64 символа)
Символов на байт24 на 3 байта (~1.33)
Накладные расходы100% (удвоение)~33%
СтандартRFC 4648 §8RFC 4648 §4
ПаддингНе требуется= в конце
Основное использованиеОтладка, анализ пакетов, хэшиJSON, MIME, Data URI, JWT
РазделителиЧасто с пробелами между байтамиБез разделителей

Примеры преобразования

Исходный текстHex (нижний)Base64
Hello48656c6c6fSGVsbG8=
A41QQ==
AB4142QUI=
ABC414243QUJD
test74657374dGVzdA==

Соответствие байтов Hex и Base64

Количество байтовДлина HexДлина Base64 (с паддингом)
124 (2 символа + ==)
244 (3 символа + =)
364 (без паддинга)
6128 (без паддинга)
N2×Nceil(N/3)×4

Code Examples

JavaScript: Hex ↔ Base64 (UTF-8)

// Hex → Base64
function hexToBase64(hex) {
  hex = hex.replace(/^0x/i, '').replace(/\s/g, '');
  const bytes = new Uint8Array(hex.match(/[\da-f]{2}/gi).map(h => parseInt(h, 16)));
  let binary = '';
  bytes.forEach(b => binary += String.fromCharCode(b));
  return btoa(binary);
}

// Base64 → Hex
function base64ToHex(b64, uppercase = false) {
  const binary = atob(b64);
  const hex = [...binary].map(c => c.charCodeAt(0).toString(16).padStart(2, '0')).join('');
  return uppercase ? hex.toUpperCase() : hex;
}

console.log(hexToBase64('48656c6c6f')); // SGVsbG8=
console.log(base64ToHex('SGVsbG8='));  // 48656c6c6f

Python: Hex ↔ Base64

import base64

# Hex → Base64
def hex_to_b64(hex_str: str, strip_0x: bool = True) -> str:
    if strip_0x and hex_str.startswith('0x'):
        hex_str = hex_str[2:]
    hex_str = hex_str.replace(' ', '').replace('\n', '')
    return base64.b64encode(bytes.fromhex(hex_str)).decode()

# Base64 → Hex
def b64_to_hex(b64_str: str, uppercase: bool = False) -> str:
    h = base64.b64decode(b64_str).hex()
    return h.upper() if uppercase else h

print(hex_to_b64('48656c6c6f'))  # SGVsbG8=
print(b64_to_hex('SGVsbG8='))   # 48656c6c6f

Java: Hex ↔ Base64

import java.util.HexFormat;
import java.util.Base64;

public class HexBase64 {
    public static String hexToBase64(String hex) {
        hex = hex.replaceFirst("^0[xX]", "").replaceAll("\\s+", "");
        byte[] bytes = HexFormat.of().parseHex(hex);
        return Base64.getEncoder().encodeToString(bytes);
    }

    public static String base64ToHex(String b64, boolean uppercase) {
        byte[] bytes = Base64.getDecoder().decode(b64);
        String hex = HexFormat.of().formatHex(bytes);
        return uppercase ? hex.toUpperCase() : hex;
    }

    public static void main(String[] args) {
        System.out.println(hexToBase64("48656c6c6f"));     // SGVsbG8=
        System.out.println(base64ToHex("SGVsbG8=", false)); // 48656c6c6f
    }
}

Privacy & Security

Конвертер Base64-Hex работает полностью в вашем браузере. Все преобразования — Hex в Base64 и Base64 в Hex, удаление префикса 0x, переключение регистра — выполняются локально с использованием встроенных JavaScript API. Никакие данные не отправляются на сервер, не сохраняются и не передаются третьим лицам.

Authoritative References

Troubleshooting