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

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

Выберите Base64, URL-кодирование, HTML-сущности или escape-последовательности Unicode, введите или вставьте текст и смотрите, как он кодируется или декодируется по мере ввода. Кнопка смены местами превращает результат во вход, поэтому можно проверить обратное преобразование. Бесплатно, без регистрации; текст преобразуется в вашем браузере и никуда не загружается.

Как пользоваться кодировщиком и декодировщиком текста

  1. 1. Выберите формат. Base64, URL-кодирование, HTML-сущности или escape-последовательности Unicode; каждая карточка объясняет, для чего этот формат.
  2. 2. Выберите «Кодировать» или «Декодировать». Кодировать превращает читаемый текст в формат; декодировать возвращает его обратно.
  3. 3. Введите или вставьте текст. Результат появляется по мере ввода. Ничего никуда не отправляется.
  4. 4. Скопируйте или поменяйте местами. Копировать в буфер обмена копирует результат. Поменять местами ввод/вывод переносит результат в поле ввода и меняет направление — это самый быстрый способ проверить обратное преобразование.

Какое кодирование для какой задачи

ФорматДля чего используетсяСтандартВывод
Base64Передача байтов через каналы только для текста: вложения электронной почты, data-URI, токены, JSONRFC 4648Буквы, цифры, +, / и выравнивание =; примерно на треть длиннее
URL-кодированиеБезопасная вставка текста в строку запроса или сегмент путиRFC 3986Каждый небезопасный байт как % и два шестнадцатеричных знака
HTML-сущностиПоказ <, & и не-ASCII символов на веб-страницеСимвольные ссылки HTMLДесятичные числовые ссылки вида &#233;
Escape-последовательности UnicodeЗапись не-ASCII символов в исходном коде JavaScript, JSON или JavaJSON (RFC 8259), ECMAScript\u и четыре шестнадцатеричных знака на символ

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

Пример

Вот текст Café & crème ☕, пропущенный через каждый формат, как его выводит инструмент:

ФорматЗакодировано
Base64Q2Fmw6kgJiBjcsOobWUg4piV
URL-кодированиеCaf%C3%A9%20%26%20cr%C3%A8me%20%E2%98%95
HTML-сущностиCaf&#233; &#38; cr&#232;me &#9749;
Escape-последовательности UnicodeCaf\u00e9 & cr\u00e8me \u2615

Обратите внимание, что оставляет каждый формат. HTML-кодирование записывает амперсанд как &#38;, но сохраняет обычные буквы и пробелы. Unicode-экранирование меняет только символы с кодом выше 127, поэтому амперсанд остаётся. URL-кодирование переписывает всю строку как байты UTF-8: é — это два байта C3 A9, отсюда %C3%A9, а пробел — %20. Base64 переписывает всё, потому что работает с байтами UTF-8 всей строки группами по три.

Что сбивает людей с толку

  • URL-кодирование предназначено для частей адреса, а не для целых URL. Инструмент экранирует всё, кроме букв, цифр и - _ . ! ~ * ' ( ), поэтому a b&c=d/e?f становится a%20b%26c%3Dd%2Fe%3Ff. Слеши, двоеточия и знаки вопроса тоже экранируются — это верно для значения, но сломает полный адрес.
  • Пробел становится %20, а знаки плюса не декодируются. В данных форм + означает пробел, но здесь декодирование превращает a+b%20c в a+b c.
  • Base64 кодирует стандартным алфавитом. Декодирование также принимает URL-безопасный Base64, где вместо + и / стоят - и _, а выравнивание = может отсутствовать. Кодирование всегда пишет +, / и выравнивание, так что поменяйте их, если нужен URL-безопасный вариант.
  • Эмодзи и другие символы выше U+FFFF в HTML-кодировании обрабатываются как один символ и получают одну ссылку (😀 как &#128512;). Unicode-экранирование записывает их двумя суррогатными escape-последовательностями (😀 как \ud83d\ude00), которые принимают JavaScript и JSON.
  • Ошибки декодирования выводятся в поле результата в квадратных скобках, например [Error: invalid Base64 input], а не отдельным сообщением.

Какой инструмент вам нужен?

Эта страница конвертирует текст для веба. Для сырых байтов текста используйте Конвертер Hex (шестнадцатеричные байты) или Переводчик двоичного кода (группы по 8 бит). Для кодов символов Конвертер ASCII даёт десятичные коды. Перевод числа между системами счисления делает Системы счисления. Base32, Base58 и Ascii85 пока относятся к запланированному конвертеру Base32, Base58 и Ascii85.

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

Какие форматы кодирования поддерживает этот инструмент?
Четыре: Base64 (RFC 4648), процентное URL-кодирование, десятичные числовые HTML-сущности и Unicode-экранирование \u. Каждый можно закодировать или декодировать.
Для чего используется Base64?
Он представляет двоичные данные 64 печатными символами, чтобы их можно было передавать через системы, рассчитанные на текст: вложения электронной почты, data:-URI, которые встраивают изображения, заголовки HTTP basic-auth и сегменты JSON Web Token. Данные становятся примерно на 33% больше, и никакой секретности он не даёт.
Когда следует использовать URL-кодирование?
Всякий раз, когда введённый пользователем текст попадает в часть URL — значение запроса, сегмент пути, фрагмент — потому что пробелы, амперсанды, знаки равенства, не-ASCII буквы и похожие символы иначе будут поняты неверно. Кодируйте части, а не весь адрес.
Это то же самое, что шифрование?
Нет. Кодирование меняет способ записи данных, чтобы их можно было сохранить или отправить; любой может его обратить, и ключа нет. Шифрование требует секретного ключа. Никогда не используйте Base64 или процентное кодирование, чтобы скрыть пароль или токен.
Может ли он декодировать URL-безопасный Base64?
Да. Вставьте строку URL-безопасного варианта с - и _, с выравниванием = или без него — она декодируется. Кодирование пишет стандартный алфавит, поэтому замените + на -, а / на _ самостоятельно, если нужен URL-безопасный вариант.
Какие HTML-сущности понимает декодировщик?
Десятичные ссылки (&#233;) и шестнадцатеричные (&#xE9;) для символов до U+FFFF и короткий список именованных: &amp;, &lt;, &gt;, &quot;, &apos;, &nbsp;, &copy;, &reg;, &trade;, &euro;, &pound;, &yen;, &cent;, &mdash;, &ndash;, &laquo;, &raquo; и &hellip;. Другие именованные сущности, например &eacute;, остаются как введены.
Загружается ли мой текст куда-либо?
Нет. Все четыре преобразования выполняются в вашем браузере по мере ввода, и ничего не отправляется в CitationEasy.

Похожие инструменты

Ещё в разделе «Данные, разметка и код»