Кодировщик Base64

Кодируйте текст или hex-байты в Base64 прямо в браузере. Полная поддержка UTF-8 (эмодзи, кириллица, CJK), URL-безопасный алфавит, дополнение и перенос по 76 символов.

Символов: 24 · байт: 28 (UTF-8)

Символов: 0 · байт: 0 (UTF-8)

Работает полностью в вашем браузере. Ваши данные никуда не загружаются.

Что такое Кодирование Base64?

Преобразует текст в Base64 по стандарту RFC 4648. Сначала текст переводится в байты UTF-8, поэтому эмодзи, кириллица, китайские и арабские символы кодируются корректно, а затем байты записываются 64-символьным алфавитом Base64. Вместо текста можно вставить сырые байты в виде hex.

Как пользоваться Кодирование Base64

  1. Введите или вставьте текст в поле Ввод (или переключите Формат ввода на Байты в hex, чтобы закодировать сырые байты).
  2. При необходимости включите URL-безопасный алфавит (- и _), отключите Добавлять дополнение = или включите Переносить строки каждые 76 символов (MIME).
  3. Результат Base64 сразу появится в поле Вывод.
  4. Нажмите Копировать или Сделать входными данными, чтобы перейти к декодированию и проверить обратное преобразование.

Пример

Ввод
Hello, World! Xin chào 👋
Вывод
SGVsbG8sIFdvcmxkISBYaW4gY2jDoG8g8J+Riw==

Параметры по умолчанию: ввод в UTF-8, стандартный алфавит с дополнением.

Когда использовать Кодирование Base64

Base64 нужен, когда двоичные или не-ASCII данные приходится передавать через текстовый канал: поля JSON, data URI, заголовки HTTP Basic, письма (MIME) или файлы конфигурации. Не используйте его для защиты данных: Base64 — это кодировка, декодировать её может любой. Для больших файлов, где важна наценка в 33%, он тоже не лучший выбор (для файлов есть кодировщик Base64 для файлов).

Как работает Кодирование Base64

Ввод превращается в байты (UTF-8 через TextEncoder либо разбор hex). Каждые 3 байта (24 бита) делятся на четыре 6-битные группы, и каждая заменяется одним символом из A–Z a–z 0–9 + /. Если в последней группе 1 или 2 байта, вывод дополняется знаками = до длины, кратной 4. URL-безопасный вариант (RFC 4648 §5, «base64url») заменяет + на - и / на _ и обычно используется без дополнения. Перенос по 76 символов соответствует правилу MIME о длине строки.

Распространенные Случаи Использования

  • Формирование заголовка HTTP Authorization: Basic из user:password
  • Вставка короткой строки или токена в JSON или YAML
  • Получение значений base64url для заголовков и полезной нагрузки JWT
  • Кодирование не-ASCII текста для старых систем, понимающих только ASCII
  • Проверка, какие байты на самом деле даёт строка UTF-8

Примечание по Безопасности

Кодирование выполняется локально в браузере, ничего не загружается на сервер. Помните, что Base64 не обеспечивает конфиденциальности.

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

Почему мой Base64 для нелатинского текста отличается от результата другого сервиса?

Некоторые инструменты кодируют текст как Latin-1 или UTF-16. Этот инструмент всегда использует UTF-8 — именно его ожидают браузеры, btoa(unescape(encodeURIComponent(s))), Python base64.b64encode(s.encode()) и большинство API.

Чем Base64 отличается от base64url?

В base64url вместо + и / используются - и _, поэтому результат можно вставлять в URL и имена файлов без процентного кодирования. В JWT применяется base64url без дополнения =.

Base64 — это шифрование?

Нет. Меняется только представление данных, и любой может их декодировать. Если данные секретные, используйте настоящее шифрование, например AES-GCM.

Насколько Base64 увеличивает размер данных?

На каждые три входных байта приходится четыре символа вывода, то есть примерно на 33% больше, плюс переводы строк, если включён перенос.

Другие категории