ByteCompress

Base64 Кодировщик

Преобразуйте обычный текст или двоичные строки в выходные данные, закодированные в Base64. Поддерживает стандартные и безопасные для URL алфавиты согласно RFC 4648 и обрабатывает полный UTF-8, включая эмодзи и нелатинские скрипты.

0 chars
FreeClient-sideNo signup

Base64 увеличивает размер данных примерно на 33%. Этот компромисс существует, потому что двоичные данные должны выживать в текстовых каналах, таких как заголовки электронной почты, JSON полезные нагрузки и заголовки HTTP Authorization. Определенный в RFC 4648, Base64 использует алфавит из 64 символов: A-Z, a-z, 0-9, плюс + и / (или - и _ в безопасном для URL режиме). Этот браузерный кодировщик обрабатывает ваш ввод полностью на вашем устройстве с использованием встроенных API btoa() и TextEncoder. Личные строки, токены и учетные данные никогда не отправляются на сервер.

Как закодировать в Base64

  1. Введите или вставьте текст, который хотите закодировать, в поле ввода.
  2. Выберите режим кодирования Стандартный или Безопасный для URL.
  3. Закодированный выход Base64 появляется мгновенно в панели вывода.
  4. Нажмите Копировать, чтобы скопировать результат в буфер обмена.

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

Алфавит из 64 символов

Base64 использует алфавит из 64 символов: A-Z (26), a-z (26), 0-9 (10) и два дополнительных символа. Стандартный Base64 (RFC 4648 §4) использует + и /. Безопасный для URL Base64 (RFC 4648 §5) заменяет их на - и _. Кодирование берет три входных байта (24 бита), разбивает их на четыре группы по 6 бит и сопоставляет каждое значение 6 бит соответствующему символу алфавита. Поэтому длина выходных данных Base64 всегда кратна 4.

Дополнение

Поскольку Base64 обрабатывает данные группами по 3 байта, длины входных данных, которые не кратны 3, требуют дополнения. Один оставшийся байт производит == в конце. Два оставшихся байта производят =. Дополнение необходимо в стандартном Base64, но часто удаляется в безопасных для URL реализациях, особенно в JWT.

Пример

Входные данные

Привет, мир!

Выход (Стандартный Base64)

0JrQvtC70Y7QstCwIQ==

Два символа = дополнения появляются, потому что "Привет, мир!" составляет 13 байт - 13 mod 3 = 1, поэтому один байт остается в последней группе.

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

  • HTTP Basic Authentication - заголовки Authorization: Basic требуют username:password, закодированного в Base64
  • Встраиваемые изображения в HTML/CSS - Data URIs: data:image/png;base64,iVBORw0KGgo...
  • JWT токены - секции заголовка и полезной нагрузки используют безопасный для URL Base64
  • Вложения электронной почты - MIME (RFC 2045) использует Base64 для кодирования двоичных вложений в текстовых почтовых протоколах

Стандартный vs Безопасный для URL Base64

Стандартный Base64 использует + и /, которые имеют специальное значение в URL. Безопасный для URL Base64 заменяет их на - и _, что делает выходные данные безопасными в URL, именах файлов и параметрах запроса без процентного кодирования. Используйте безопасный для URL режим для JWT, токенов OAuth и любых данных Base64, появляющихся в URL. Для декодирования выходных данных используйте Декодер Base64. Для встраивания закодированных данных в параметры запроса URL комбинируйте этот инструмент с Кодировщиком URL.

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

Является ли Base64 формой шифрования?

Нет. Base64 - это схема кодирования, а не шифрования или форма безопасности. Любой, у кого есть строка Base64, может мгновенно декодировать её без ключа. Она не обеспечивает конфиденциальности. Используйте AES-256 или RSA, если нужно защитить данные - Base64 предназначен для безопасной передачи двоичных данных в текстовых каналах, а не для сокрытия информации.

Почему выходные данные Base64 всегда заканчиваются на == или =?

Base64 кодирует данные группами по 3 байта в 4 символа. Когда длина входных данных не делится на 3, последняя группа содержит 1 или 2 байта вместо 3. Один оставшийся байт производит == дополнение; два оставшихся байта производят =. Дополнение гарантирует, что длина выходных данных всегда кратна 4, как требуется по RFC 4648.

Обрабатывает ли этот кодировщик Юникод и эмодзи правильно?

Да. Кодировщик сначала преобразует текст в байты UTF-8 с помощью API TextEncoder браузера перед применением Base64. Юникодные символы, включая эмодзи (4 байта в UTF-8), китайские иероглифы, арабские буквы и акцентированные латинские символы кодируются правильно и декодируются обратно в оригинальный текст.

Что такое безопасный для URL Base64 и когда его следует использовать?

Безопасный для URL Base64 (RFC 4648 §5) заменяет + на - и / на _. Используйте его, когда данные Base64 появляются в URL, имени файла, куки или HTTP заголовке, где стандартные символы могут быть неправильно интерпретированы. JWT токены, токены доступа OAuth и проверяющие коды PKCE все используют безопасный для URL Base64.

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

Кодирование Base64 увеличивает размер данных ровно на 33,33% - 3 входных байта становятся 4 выходными символами (4/3 = 1,333...). Кроме того, выходные данные могут включать до 2 символов дополнения. Для больших двоичных нагрузок многочастичные или двоичные протоколы более эффективны по пропускной способности, чем Base64.