Base64-Hex конвертер
Онлайн-конвертер Base64-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. Данные не передаются на сервер, что обеспечивает конфиденциальность при работе с чувствительной информацией — ключами, токенами, содержимым пакетов.
Варианты использования
- Анализ пакетов 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 или переключение на верхний/нижний регистр Hex
- Проверьте результат в выходном поле и убедитесь в корректности преобразования по статистике
- Скопируйте результат одним нажатием для дальнейшего использования
Функции
- Двунаправленное преобразование: конвертация Hex в Base64 и Base64 в Hex в одном инструменте с мгновенным переключением направления
- Удаление префикса 0x: автоматическое определение и удаление префикса 0x из шестнадцатеричных строк при вводе
- Переключатель регистра: выбор вывода Hex-символов в верхнем или нижнем регистре в соответствии с требованиями конкретного протокола
- Преобразование в реальном времени: результат появляется немедленно при вводе без нажатия кнопок и задержек
- Локальная обработка: все вычисления выполняются в браузере, данные не покидают ваше устройство
- Поддержка разделителей: автоматическое распознавание пробелов, переносов строк и других разделителей в Hex-строках
- Режим Wireshark: прямая совместимость с шестнадцатеричными дампами из Wireshark и других анализаторов пакетов
- Копирование одним кликом: копирование результата в буфер обмена для использования в параметрах API или документации
- Проверка корректности: встроенная валидация ввода с понятными сообщениями об ошибках при некорректных данных
- Статистика в реальном времени: отображение количества байтов, символов входных и выходных данных для контроля
- Совместимость с RFC 4648: соответствие стандарту кодировки Base64 согласно спецификации RFC 4648
- Поддержка вложенных кодировок: возможность многократного преобразования между форматами без потери данных
- История сессии: автоматическое сохранение последних преобразований для быстрого повторного доступа
- Адаптивный интерфейс: удобная работа как на десктопе, так и на мобильных устройствах
Примеры кода
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=')); // 48656c6c6fPython: 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=')) # 48656c6c6fJava: 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
}
}Часто задаваемые вопросы
В чём разница между 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, игнорирование разделителей, переключение регистра и двунаправленность в одном интерфейсе.
Устранение неполадок
Ошибка «Invalid hex string» при вводе данных из Wireshark
Результат Hex содержит нечётное количество символов
При конвертации Base64 в Hex получается неверный результат
Результат отличается от ожидаемого в другом инструменте
Глоссарий
- 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 символа) |
| Символов на байт | 2 | 4 на 3 байта (~1.33) |
| Накладные расходы | 100% (удвоение) | ~33% |
| Стандарт | RFC 4648 §8 | RFC 4648 §4 |
| Паддинг | Не требуется | = в конце |
| Основное использование | Отладка, анализ пакетов, хэши | JSON, MIME, Data URI, JWT |
| Разделители | Часто с пробелами между байтами | Без разделителей |
Примеры преобразования
| Исходный текст | Hex (нижний) | Base64 |
|---|---|---|
| Hello | 48656c6c6f | SGVsbG8= |
| A | 41 | QQ== |
| AB | 4142 | QUI= |
| ABC | 414243 | QUJD |
| test | 74657374 | dGVzdA== |
Соответствие байтов Hex и Base64
| Количество байтов | Длина Hex | Длина Base64 (с паддингом) |
|---|---|---|
1 | 2 | 4 (2 символа + ==) |
2 | 4 | 4 (3 символа + =) |
3 | 6 | 4 (без паддинга) |
6 | 12 | 8 (без паддинга) |
N | 2×N | ceil(N/3)×4 |
Privacy & Security
Конвертер Base64-Hex работает полностью в вашем браузере. Все преобразования — Hex в Base64 и Base64 в Hex, удаление префикса 0x, переключение регистра — выполняются локально с использованием встроенных JavaScript API. Никакие данные не отправляются на сервер, не сохраняются и не передаются третьим лицам.
Authoritative References
- Безопасное сравнение строк
- Двоичное Кодирование
- Шифр Цезаря
- Азбука Морзе
- Hex Кодирование
- Видео в Base64
- Base64 в видео
- Изображение в Base64
- Base64 в изображение
- Текст в Base64
- Base64 в текст
- Проверка хеша файла
- Файл в Base64
- Base64 в Файл
- Аудио в Base64
- Base64 в Аудио
- AES-шифрование и расшифровка
- DES Шифрование
- Кодировщик и Декодер Base32
- Base58 кодирование и декодирование
- Кодирование Base64
- Декодирование Base64
- Сравнение Base64
- Разбиение Base64
- Base64 — объединение строк
- Форматирование Base64
- Валидация Base64
- Пакетное кодирование Base64
- Пакетное декодирование Base64
- Очистка Base64
- Обработка заполнения Base64
- Base64 в Hex
- Преобразователь Base64 DataURL
- Base64-Hex конвертер
- Base85 Кодирование
- Генератор и верификатор HMAC
- PBKDF2
- Хеш MD5
- SHA-256 хэш
- SHA1 хеш
- Хеш SHA512
- JWT
- HTML Кодирование
- Unicode экранирование
- URL-кодирование
- Base64 URL-Safe
- MIME Base64
- Обфускация Java
- Обфускация JS
- Обфускация PHP
- Обфускация Python
- Статистика длины Base64