Перейти к основному содержимому
FreeOnlineTools Go
Русский
Объяснение

Что такое кодирование Base64? Полное объяснение

Автор: FreeOnlineTools Team · Обновлено 2026-09-02

Быстрый ответ

Кодирование Base64 преобразует бинарные данные в текст с 64 печатными символами (A-Z, a-z, 0-9, +, /). Каждые 3 байта input становятся 4 символами Base64. Base64 обратимо (не шифрование) и увеличивает размер данных ~33%. Используйте наш бесплатный Base64 Encoder и Decoder.

Введение

Base64 — схема кодирования binary-to-text, преобразующая бинарные данные в ASCII-строку с 64 печатными символами. Определена RFC 4648 и широко используется для кодирования данных, передаваемых через текстовые媒介 —вложения email (MIME), Data URLs, части JWT-токена и JSON-payload с бинарными данными. Base64 — кодирование, не шифрование —полностью обратимо и не требует ключа.

Шаг за шагом

  1. Понимание набора символов

    Base64 использует 64 символа: A–Z (26), a–z (26), 0–9 (10), + и / (2). Символ = используется для заполнения, когда входная длина не кратна 3. Безопасный вариант URL заменяет + на - и / на _ и опускает заполнение.

  2. Узнайте, как работает кодирование

    Base64 обрабатывает ввод блоками по 3 байта (24 бита). Каждый 24-битный блок разделен на четыре 6-битные группы. Каждое 6-битное значение (0–63) соответствует одному из 64 символов. Если введенное число не кратно 3, добавляется дополнение (=): 1 байт ввода → 2 символа Base64 + ==, 2 байта → 3 символа + =.

  3. Поймите размер накладных расходов

    Base64 увеличивает размер данных примерно на 33% — каждые 3 байта становятся 4 символами. Файл размером 1 МБ становится ~ 1,33 МБ при кодировании Base64. Эти накладные расходы являются компромиссом для совместимости только с текстом.

  4. Отличие кодирования от шифрования

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

Примеры

Кодировать текст

Вход: Hello, World!

Выход: SGVsbG8sIFdvcmxkIQ==

Кодировать двоичные данные (показаны в шестнадцатеричном формате)

Вход: Байты: 0x00 0x01 0x02

Выход: AAEC

URL-безопасно Base64 (стиль JWT)

Вход: Standard: SGVsbG8= → URL-safe: SGVsbG8 (no padding, - and _ for + and /)

Выход: Используется в токенах JWT и параметрах URL.

Распространенные проблемы

  • Рассматривая Base64 как шифрование, —Base64 обратимо без ключа. Расшифровать его сможет любой желающий. Никогда не используйте его для защиты конфиденциальных данных.
  • Символы, отличные от ASCII, — наивный вызов btoa() в Юникоде. Используйте TextEncoder + btoa(unescape(encodeURIComponent(text))) или инструмент с поддержкой UTF-8.
  • Удаление заполнения — заполнение = является частью кодировки. Его удаление нарушает декодирование (хотя некоторые декодеры могут его восстановить).
  • Накладные расходы на размер —Base64 увеличивает размер данных примерно на 33%. Для больших файлов это важно; подумайте, необходимо ли кодирование.

Советы

  • Используйте Base64 для данных URLs, чтобы вставлять небольшие изображения в HTML/CSS без отдельного запроса HTTP.
  • Используйте URL-безопасный Base64 (замените + на -, / на _, удалите заполнение) для токенов URLs и JWT.
  • Base64 не является шифрованием — используйте его для обеспечения транспортной совместимости, а не для обеспечения конфиденциальности.
  • Используйте наш кодировщик и декодер Base64 для мгновенного и конфиденциального преобразования в вашем браузере.

Сопутствующие инструменты

Связанные руководства

Ссылки