Инструмент
Base64: кодирование и декодирование
Переводит текст и файлы в Base64 и обратно с учётом UTF-8. Поддерживает вариант Base64URL без паддинга, как в JWT.
Работает в браузере, данные никуда не отправляются
Результат
Как устроен Base64
Каждые 3 байта (24 бита) делятся на четыре группы по 6 бит, и каждая группа заменяется символом из алфавита A–Z a–z 0–9 + /. Поэтому закодированные данные на треть длиннее исходных. Если в конце остаётся один или два байта, результат дополняется знаками =.
Base64 — это не шифрование. Его используют, чтобы передать двоичные данные там, где ждут текст: во вложениях писем, в data: URI, в заголовке Authorization: Basic, в JWT.
Base64 и Base64URL
| Base64 | Base64URL | |
|---|---|---|
| 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 добавит перевод строки, и он тоже попадёт в результат.