Лаборатория кодера

Инструмент

Base64: кодирование и декодирование

Переводит текст и файлы в Base64 и обратно с учётом UTF-8. Поддерживает вариант Base64URL без паддинга, как в JWT.

Работает в браузере, данные никуда не отправляются

Результат

Как устроен Base64

Каждые 3 байта (24 бита) делятся на четыре группы по 6 бит, и каждая группа заменяется символом из алфавита A–Z a–z 0–9 + /. Поэтому закодированные данные на треть длиннее исходных. Если в конце остаётся один или два байта, результат дополняется знаками =.

Base64 — это не шифрование. Его используют, чтобы передать двоичные данные там, где ждут текст: во вложениях писем, в data: URI, в заголовке Authorization: Basic, в JWT.

Base64 и Base64URL

Base64Base64URL
62-й и 63-й символы+ и /- и _
паддинг =обязателенобычно опускается
где встречаетсяпочта, data URI, Basic-авторизацияJWT, имена файлов, параметры адреса

В командной строке

bash
printf '%s' 'Привет' | base64        # 0J/RgNC40LLQtdGC
printf '%s' '0J/RgNC40LLQtdGC' | base64 -d
base64 -w0 image.png > image.b64    # без переносов строк (GNU)

Обратите внимание на printf '%s' вместо echo: echo добавит перевод строки, и он тоже попадёт в результат.