Кодирование

Base64

Кодирование и декодирование Base64 — текст и файлы, прямо в браузере.

Base64 — это кодирование двоичных данных в текст с помощью 64 печатных ASCII-символов (A–Z, a–z, 0–9, а также + и /). Оно нужно, чтобы произвольные байты — изображения, архивы, криптографические ключи — могли без изменений проходить через каналы, рассчитанные только на текст.

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

Как пользоваться

Типичные сценарии

Что стоит помнить

Base64 — это не шифрование: строку может декодировать кто угодно. Меняется лишь представление данных, а не их конфиденциальность.

Результат примерно на 33% больше исходных данных, так как каждые 3 байта превращаются в 4 символа.

Для URL и имён файлов используют Base64URL: там + и / заменены на - и _, а padding = часто отбрасывают.

Статья об этом инструменте: Base64: зачем нужно кодирование и как оно работает

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

Что такое Base64 и зачем он нужен?

Base64 — это способ представить произвольные бинарные данные в виде текста из 64 безопасных ASCII-символов. Используется там, где нельзя передать «сырые» байты: вложения в email, встраивание файлов в JSON, data URI в CSS/HTML и подобное.

Почему результат в Base64 больше исходного файла?

Base64 кодирует каждые 3 байта в 4 символа, поэтому вывод примерно на 33% больше исходных данных. Для больших файлов это заметно увеличивает объём.

Данные из инструмента куда-то отправляются?

Нет, всё кодирование и декодирование выполняется прямо в браузере на вашем устройстве. Ни текст, ни файлы никуда не отправляются.

Чем стандартный Base64 отличается от Base64URL?

В Base64URL символы + и / заменены на - и _, чтобы строку можно было безопасно вставить в URL или имя файла без дополнительного percent-encoding. Именно такой вариант использует JWT.

Что означает символ = в конце строки?

Это заполнитель (padding), который показывает, сколько байтов не хватает в последнем 3-байтовом блоке. Он не всегда обязателен — некоторые системы его сознательно отбрасывают.

Статьи: Кодирование

Base32: чем отличается от Base64 и когда удобнее

Регистронезависимый алфавит Base32 и сценарии, где он удобнее Base64.

URL Encode/Decode: percent-encoding в ссылках

Как спецсимволы в адресной строке и query-параметрах превращаются в %XX-последовательности.

HTML Entities: как безопасно выводить спецсимволы на странице

Почему символы < > & нужно экранировать и как это предотвращает поломку разметки.

JWT: структура токена и что значит «декодировать» JWT

Header, payload и signature JWT-токена и почему декодирование — не то же самое, что проверка подписи.

Unicode Escape: что означают последовательности \uXXXX

Откуда в JSON и JS-строках берутся последовательности вида \u0041 и что они означают.

ROT13 и шифр Цезаря: простая замена символов

Почему сдвиг на 13 букв делает ROT13 симметричным и зачем его вообще используют сегодня.

Punycode: как домены с кириллицей работают в DNS

Как домен вроде «пример.рф» превращается в ASCII-запись с префиксом xn--.

Азбука Морзе: как текст превращается в точки и тире

Принцип кодирования букв точками и тире и где азбука Морзе применяется сейчас.

Data URI: когда встраивать изображения прямо в код

Как data:-URI встраивает содержимое файла прямо в HTML или CSS и когда это оправдано.

Gzip + Base64: сжатие данных для передачи текстом

Зачем сжатые бинарные данные ещё и кодируют в Base64 перед тем, как поместить в текстовое поле.

XML Entities: экранирование символов в XML-документах

Пять обязательных XML-entity, без которых документ ломается при парсинге.