swap_horiz

Base64 кодировщик

Поддерживается текст в кодировке UTF-8
info Доступно только для Base64

								
info Длина: ---- символов
lightbulb Быстрые примеры
Base64

Привет!

Base32

Hello

Base16

Test

Base58

Bitcoin

info Полное руководство по схемам кодирования данных

Кодирование данных — это процесс преобразования произвольных двоичных или текстовых данных в текстовый формат, безопасный для передачи через системы, которые исторически рассчитаны на текстовые данные. Разные схемы кодирования решают разные задачи: от максимальной компактности до устойчивости к ошибкам ввода. Наш инструмент поддерживает четыре наиболее распространённых алгоритма, каждый из которых описан ниже с примерами, историей и реальными сценариями применения.

code Base16 (Шестнадцатеричная система)

Base16 — самая простая и предсказуемая схема кодирования. Алфавит состоит из 16 символов: цифры 0-9 и буквы A-F. Каждый байт (8 бит) преобразуется ровно в два символа, что делает соотношение размеров фиксированным: 100% увеличение исходного размера.

Шестнадцатеричная система была унаследована от самой ранней эры вычислительной техники — машинных кодов первого поколения, где операторы вводили программы напрямую в двоичной системе, а hex-представление служило компромиссом между читаемостью и компактностью.

Где применяется:

  • Хеш-функции: MD5 (32 hex-символа), SHA-1 (40), SHA-256 (64) — все стандартные хеши выводятся в hex
  • CSS-цвета: формат #RRGGBB и #RRGGBBAA — красный, зелёный и синий каналы в hex
  • Отладка: дампы памяти, бинарные файлы, Wireshark-анализ трафика
  • Unicode: экранирование символов \u0041 в JSON и строках
  • Уникальные идентификаторы: UUID в стандартном формате 550e8400-e29b-41d4-a716-446655440000
  • Криптография: открытые ключи, сертификаты, подписи
lightbulb Интересный факт: Base16 — единственная кодировка, где каждый байт преобразуется в фиксированные 2 символа без необходимости выравнивания блоков или добавления padding.
code Base32

Base32 использует алфавит из 32 символов: заглавные буквы A-Z и цифры 2-7. Цифры 0, 1, 8, 9 исключены, чтобы избежать путаницы с буквами O, I, l. Каждые 5 байт (40 бит) кодируются в 8 символов (40 бит), что даёт соотношение +60% к исходному размеру. При необходимости добавляется символ = для padding.

Base32 был стандартизирован в RFC 4648 одновременно с Base64, но получил менее широкое распространение. Его главное преимущество — регистрационная независимость и устойчивость к опечаткам при ручном вводе.

Где применяется:

  • TOTP/HOTP: коды двухфакторной аутентификации (Google Authenticator, Authy) — секретные ключи в формате Base32
  • Bitcoin-адреса: старые адреса begin с цифры 1 используют Base58, но промежуточные представления — Base32
  • DNSSEC: запись NSEC3 использует Base32 для хешей доменных имён
  • Человекочитаемые коды: приглашения в сервисы, одноразовые ссылки, верификация аккаунтов
  • Bluetooth pairing: некоторые протоколы сопряжения
lightbulb Совет: если вы видите последовательность из заглавных букв и цифр 2-7 длиной, кратной 8 — скорее всего, это Base32. Попробуйте декодировать в нашем инструменте.
code Base58

Base58 — специализированная кодировка, разработанная специально для криптовалют. Алфавит из 58 символов: цифры 1-9, заглавные A-Z, строчные a-z. Символы 0, O, I и l исключены — они слишком похожи визуально и вызывают ошибки при ручном копировании.

Была создана для Bitcoin как улучшение Base58Check, и с тех пор стала стандартом для множества блокчейн-проектов. В отличие от Base64, Base58 не имеет стандарта RFC — это де-факто стандарт, определяемый реализацией.

Где применяется:

  • Bitcoin-адреса: классические адреса (начинаются с 1) и SegWit (начинаются с bc1)
  • Приватные ключи: формат WIF (Wallet Import Format) для импорта кошельков
  • IPFS: CID (Content Identifiers) для идентификации файлов и данных
  • Telegram: короткое имя пользователя @username
  • Компактные ID: когда нужен короткий, но безопасный идентификатор без двусмысленности

Почему именно 58? Исключение 4 символов из 64 (Base64) уменьшает алфавит до 60, но Base58 дополнительно убрал ещё 2 символа для однозначного распознавания в разных шрифтах.

lightbulb Проверка: если строка начинается с 1 и содержит только символы из 1-9A-Za-z без 0OIl — это почти наверняка Base58.
code Base64

Base64 — самая распространённая схема кодирования в мире. Алфавит из 64 символов: A-Z, a-z, 0-9, + и /. Каждые 3 байта (24 бита) преобразуются в 4 символа (24 бита), что даёт соотношение +33% к исходному размеру. При длине данных, не кратной 3, добавляется padding символом =.

Base64 был впервые описан в RFC 2045 как часть MIME-стандарта для электронной почты в 1996 году. С тех пор его применение вышло далеко за пределы email и стало неотъемлемой частью веба, API и криптографии.

Где применяется:

  • Email (MIME): кодирование вложений, прикрепление файлов к письмам
  • Data URI: встраивание изображений прямо в HTML/CSS: data:image/png;base64,iVBORw0K...
  • JWT (JSON Web Tokens): заголовок и payload кодируются в Base64URL
  • HTTP Basic Auth: учётные данные передаются как base64(username:password)
  • XML и SOAP: бинарные данные в XML-документах
  • API: передача бинарных данных через JSON (изображения, файлы, сериализованные объекты)
  • SSL-сертификаты: DER-формат сертификатов часто представляют в Base64
  • Криптография: кодирование публичных ключей, подписей, сериализованных объектов
link Base64URL — вариант для веб-среды

Стандартный Base64 использует символы + и /, которые имеют особое значение в URL и могут быть неправильно обработаны браузерами или фреймворками. Base64URL (описан в RFC 4648 §5) заменяет + на - и / на _, что делает строку безопасной для встраивания в URL, заголовки и файлы без дополнительного URL-кодирования.

Где применяется Base64URL:

  • JWT-токены: все три части токена (header, payload, signature) используют Base64URL
  • OAuth 2.0: state-параметры, PKCE challenges (code_verifier → code_challenge)
  • WebHooks: передача бинарных данных в URL-параметрах
  • Cookie: хранение бинарных данных в cookies
lightbulb Проверка: Base64-строка обычно заканчивается на = или == (padding). Base64URL никогда не содержит = (padding опускается) и использует - и _ вместо + и /.
history Историческая справка: почему так много кодировок?

История кодировок восходит к коду Бодо и телеграфной системе XIX века. Первые системы передачи данных должны были преобразовывать текст в электрические сигналы, а затем обратно. С развитием компьютеров задача усложнилась: нужно было передавать не только текст, но и изображения, звук, бинарные файлы через текстовые каналы связи.

Ключевым моментом стало появление MIME для email в 1996 году, что привело к стандартизации Base64. Позже, с развитием веба, появились вариации для специфических сценариев: Base64URL для URL, Base32 для человекочитаемых кодов, Base58 для криптографии.

science Исследования и производительность

Сравнение производительности кодирования зависит от реализации и языка программирования. Исследования показывают, что для больших объёмов данных (> 1 MB) наиболее эффективен побайтовый подход с предвычисленными таблицами поиска. Для небольших данных (< 1 KB) разница между алгоритмами минимальна и не влияет на UX.

Ключевые выводы:

  • Base64 — самый быстрый благодаря простоте и наличию аппаратной оптимизации в современных CPU
  • Base58 требует больших чисел (BigInt), что замедляет его в 5-10 раз по сравнению с Base64
  • Base32 и Base16 имеют промежуточную производительность
  • Для клиентских приложений разница в производительности менее 1 мс на типичные объёмы данных

Для глубокого изучения рекомендуем:

security Важное замечание о безопасности
warning Кодирование — это не шифрование! Кодирование только преобразует данные в другой формат, но не обеспечивает конфиденциальность. Любой, кто имеет доступ к закодированным данным, может мгновенно декодировать их и получить исходную информацию. Для защиты данных используйте шифрование (AES, RSA, ChaCha20) с надёжными ключами.
compare_arrows Сравнительная таблица кодировок
Кодировка Алфавит Размер Padding Регистр Основное применение
Base16 16 (0-9, A-F) +100% Нет Независимый Хеши, цвета, отладка
Base32 32 (A-Z, 2-7) +60% = Независимый 2FA, DNSSEC, human-readable
Base58 58 (1-9, A-Z, a-z) ~+36% Нет Зависимый Bitcoin, IPFS, короткие ID
Base64 64 (A-Z, a-z, 0-9, +, /) +33% = Зависимый Email, JWT, Data URI
Base64URL 64 (A-Z, a-z, 0-9, -, _) +33% Опционально Зависимый URL, JWT, OAuth
verified Конфиденциальность: Все операции выполняются в вашем браузере. Данные не отправляются на сервер и не сохраняются. Вы можете безопасно обрабатывать пароли, токены и другие чувствительные данные.