URL Encoder / Decoder
Закодируйте текст в percent-encoding для безопасного использования в URL, или декодируйте закодированный URL обратно в читаемый текст — два режима в зависимости от того, что именно вы кодируете.
Как пользоваться
Используйте режим «Компонент» (`encodeURIComponent`), когда кодируете значение, которое пойдёт внутрь параметра запроса или сегмента пути — он экранирует всё, включая `&`, `?`, `#` и `/`, поскольку эти символы иначе сломали бы структуру URL, если бы остались внутри значения параметра.
Используйте режим «Целый URI» (`encodeURI`), когда кодируете целую ссылку, которая должна остаться рабочей — он не трогает структурные символы вроде `:`, `/`, `?`, `#` и `&`, экранируя только пробелы и другие символы, вообще недопустимые в URL.
Частые вопросы
В чём разница между двумя режимами кодирования?
Режим «Компонент» экранирует каждый символ, кроме букв, цифр и небольшого набора безопасных символов — подходит для одного значения, вставляемого в URL. Режим «Целый URI» предполагает, что вы кодируете целую ссылку, и сохраняет символы, дающие ей структуру (`:/?#[]@&=+$,;`), экранируя только то, что действительно недопустимо в URL.
Почему моя ссылка ломается при неверном режиме?
Если закодировать целую ссылку режимом «Компонент», символы `://` и `?`, делающие её рабочей ссылкой, тоже экранируются, превращая её в сломанную строку вместо рабочего адреса. Используйте режим «Компонент» только для отдельного значения внутри параметра, а не для всей ссылки.
Что означает %20?
Это percent-encoded форма символа пробела — URL не может содержать буквальные пробелы, поэтому кодировщики заменяют их закодированным байтовым значением. `+` иногда используется вместо `%20` именно внутри строки запроса — исторический обычай из отправки HTML-форм.
Моя ссылка куда-то отправляется при использовании инструмента?
Нет — кодирование и декодирование происходят полностью на JavaScript в вашем браузере. Это безопасно даже для ссылок с конфиденциальными токенами или параметрами, поскольку ничего не передаётся и не логируется.