Tarayıcınız güncel değil

Bu siteyi görüntülemek için tarayıcınızın veya cihazınızın işletim sisteminin güncellenmesi gerekiyor.

Your browser is out of date. Please update iOS or your browser to view this site.

Перейти к основному содержимому
Gizke.com
Блог

Кодировщик и анализатор URL

Работает на устройстве. Ничего не отправляется.
Экранирует каждый зарезервированный символ. Используйте для отдельного значения, идущего в строку запроса или сегмент пути.

Результат появится здесь

Кодируйте или декодируйте URL и строки запроса либо разберите URL на части и правьте строку запроса вживую – полностью в браузере.

URL может безопасно содержать лишь ограниченный набор ASCII-символов - всё остальное, например пробел, амперсанд или нелатинская буква, должно быть закодировано в процентном виде как %XX, прежде чем сможет в нём передаваться. Этот инструмент кодирует и декодирует текст по тем же правилам, что используют браузеры, а также отдельно разбирает полный URL на протокол, хост, порт, путь, строку запроса и хеш, позволяя редактировать параметры запроса в таблице и наблюдать пересборку URL в реальном времени. Всё выполняется локально в вашем браузере - ничего никуда не загружается.

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

Что такое процентное кодирование?
Процентное кодирование (также называемое URL-кодированием) заменяет символ на % с последующим двузначным шестнадцатеричным значением, повторяемым для каждого байта его представления в UTF-8. Именно так URL может передавать пробел (%20), амперсанд (%26) или эмодзи, не путая эти символы с собственным синтаксисом URL.
В чём разница между encodeURIComponent и encodeURI?
encodeURIComponent экранирует всё, кроме небольшого набора незарезервированных символов, что делает её правильным выбором для отдельного значения - параметра запроса или сегмента пути, - поскольку она также экранирует такие символы, как & и =, которые иначе были бы восприняты как структура URL. encodeURI предназначена для целого URL: она оставляет структурные символы вроде :, /, ?, & и # нетронутыми, чтобы URL продолжал работать, и экранирует только те символы, которые URL действительно не может содержать, например пробелы. Пропуск целого URL через encodeURIComponent ломает его, поскольку это также экранирует косые черты и двоеточия.
Стоит ли всё ещё использовать escape() и unescape()?
Нет. Обе функции были объявлены устаревшими ещё в первой редакции стандарта JavaScript, которая также ввела encodeURIComponent, потому что escape() не кодирует не-ASCII символы так, как ожидают HTTP и современные URL - для всего, что выходит за пределы Latin-1, она использует нестандартную форму %uXXXX, которую decodeURIComponent не может прочитать обратно. Этот инструмент сохраняет эту опцию только для того, чтобы вы могли изучить, что произвела устаревшая система.
Почему + в строке запроса превращается в пробел?
Строки запроса исторически происходят от отправки HTML-форм, использующих формат application/x-www-form-urlencoded: он кодирует настоящий пробел как + вместо %20, и анализатор этого инструмента (как и URLSearchParams в JavaScript) при декодировании воспринимает оба варианта как пробел. Если значению действительно нужен буквальный знак плюса, его самого нужно закодировать в процентном виде как %2B.
Что происходит с повторяющимся параметром вроде ?tag=a&tag=b?
Ничего не теряется - этот инструмент сохраняет каждое вхождение по порядку в виде отдельной строки таблицы параметров запроса, точно так же, как большинство серверных фреймворков собирают повторяющийся ключ в список. Редактирование или удаление одной строки не затрагивает остальные.
Почему анализатор предположил https:// для моего URL?
У строки вроде example.com/путь нет протокола, поэтому ни браузер, ни этот инструмент не могут понять, веб-адрес это, другой протокол или просто текст. Вместо того чтобы отклонить её, анализатор предполагает https://, чтобы вы всё же могли её изучить и отредактировать - подсказка появляется каждый раз, когда это происходит, и вы можете исправить поле Протокол, если имелась в виду другая схема.

Поделиться инструментом

БлогО проектеКонтактыУсловия использованияПолитика конфиденциальности