Перейти к содержимому
Alex Kovalev

Кодировщик / декодер

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

Работает в вашем браузере. Всё, что вы сюда вставляете или бросаете, никуда не загружается.

Режим
  1. Ввод
  2. Текст
Похоже на ⁨Base64⁩ → расшифровано
Результат
Base64 — это костюм, а не замок. И ₪ — это не &.

Расшифровано из ⁨Base64⁩.

Разобрать по символам
СимволКодЧто этоUTF-8UTF-16

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

5 шагов
  1. Вставьте странную строку в поле. В режиме Авто инструмент сам угадает формат, расшифрует строку и продолжит, если результат всё ещё закодирован.
  2. Проверьте метку над результатом. Если догадка неверная, выберите вариант в строке Или прочитать как или переключитесь на Декодировать и укажите формат сами.
  3. Чтобы закодировать текст, включите Кодировать и оставьте формат Все. Текст появится сразу в Base64, URL, hex, сущностях и остальном.
  4. Скопируйте результат или нажмите В поле ввода, чтобы развернуть его обратно и проверить, что всё сходится.
  5. Откройте Разобрать по символам, чтобы увидеть коды и байты. Там и ловятся невидимые символы и буквы-двойники.

Что он делает

1 мин чтения

Декодер Base64, URL и HTML-сущностей и конвертер hex и Unicode в одном поле. Всё идёт через UTF-8, поэтому иврит, кириллица и эмодзи доходят целыми: ₪ — это три байта, e2 82 aa, а 😀 — четыре.

Автоопределение оценивает каждый формат по виду строки и по тому, получается ли читаемый текст. SGVsbG8%3D — это Base64 внутри URL-кодирования, поэтому строка декодируется дважды, и видны оба шага. Короткие строки неоднозначны: cafe — и слово, и валидный hex, так что здесь инструмент не гадает. Выберите формат сами.

Если байты не складываются в UTF-8, вы получите hex-дамп и пояснение вместо экрана �. Старые системы до сих пор шлют Windows-1251 и Windows-1255: переключите вид байтов, чтобы их прочитать. С одной такой я столкнулся в банковской интеграции из 1975 года.

JWT расшифровывается, но не проверяется: видны header и payload, а подпись просто показана. HTML-сущности покрывают набор HTML 4 и частые имена из HTML5. В полном списке больше 2000 имён, и большинство из них в жизни не встречается.

Вопросы

5 вопросов

Base64 — это шифрование?

Нет. Base64 — это кодировка: расшифровать её может кто угодно, ключ не нужен. Она нужна, чтобы передавать байты там, где принимают только текст: в JSON, письмах, URL. Livewire, например, отправляет состояние компонента в Base64, поэтому его нужно проверять на сервере, как любой пользовательский ввод.

Почему Base64 расшифровывается в кракозябры?

Чаще всего потому, что внутри не текст. Картинки, gzip, PDF и зашифрованные данные — это просто байты, и инструмент скажет, если узнает тип файла. Другие причины: строку обрезали или добавили лишние символы при копировании, это Base64URL (- и _), который другой инструмент прочитал как обычный Base64, или текст внутри был в старой кодировке вроде Windows-1251.

Чем encodeURI отличается от encodeURIComponent?

encodeURI кодирует URL целиком и не трогает : / ? # & =, а encodeURIComponent кодирует одну часть, например значение параметра, и экранирует их тоже. Для всего, что вставляется внутрь URL, берите вторую. Формат URL здесь — это encodeURIComponent; URL form ещё и превращает пробелы в +, как это делают HTML-формы.

Почему на сайте вместо & показывается ₪?

Это проблема шрифта, а не кодировки. Если байты правильные (& — это 26, ₪ — e2 82 aa), а на экране не тот символ, его рисует веб-шрифт. Проверьте через «Разобрать по символам» и прочитайте, как я чинил ровно это.

Что такое Base64URL?

Это Base64, в котором заменены два символа, чтобы результат можно было вставлять в URL и имена файлов: - вместо + и _ вместо /, и обычно без = в конце. Его используют JWT, многие API-токены и WebAuthn. Строгий декодер Base64 на нём спотыкается; этот читает оба варианта, а значок над результатом показывает, какой из них он увидел.

Ещё инструменты на стене