OpenReplay Logo
12k
12k

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

Кодируйте и декодируйте URL-адреса и строки запроса в процентном представлении прямо в браузере — encodeURIComponent или encodeURI, ничто не покидает вашу машину.

Обрабатывается локально

Об этом инструменте

Кодирование URL (также называемое процентным кодированием) заменяет символы, которые имеют особое значение или не допускаются в URL, знаком процента, за которым следует их шестнадцатеричное значение байта — пробел становится %20, амперсанд становится %26 и так далее. JavaScript предоставляет две разновидности: encodeURIComponent экранирует практически всё, включая зарезервированные разделители, такие как &, =, ?, и /, что делает его подходящим для одиночного значения, например параметра строки запроса, тогда как encodeURI оставляет структурные символы полного URL нетронутыми, чтобы адрес оставался работоспособным.

Используйте инструмент, чтобы безопасно поместить значение в строку запроса, отладить ссылку, в которой специальные символы или Unicode оказались искажены, или прочитать, что на самом деле содержит закодированный URL перенаправления или отслеживания. Переключитесь в режим Decode, чтобы превратить %20 и им подобные обратно в читаемый текст, выберите область Component или Full URL в соответствии с тем, как была получена строка, и включите «+ as space», когда декодируете строки запроса в стиле форм, где пробелы были отправлены как знаки плюс.

encodeURIComponent экранирует зарезервированные разделители &, =, ?, и /, тогда как encodeURI оставляет их нетронутыми — используйте Component для одиночного значения, а Full URL только для полного адреса.

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

В чём разница между encodeURIComponent и encodeURI?

encodeURIComponent экранирует зарезервированные символы URL, такие как &, =, ?, и /, поэтому он предназначен для одиночного значения, например одного параметра строки запроса. encodeURI сохраняет эти структурные символы, поэтому он предназначен для кодирования полного URL без его повреждения.

Почему + иногда означает пробел в URL?

В строках запроса application/x-www-form-urlencoded (так, как HTML-формы отправляют данные) пробелы кодируются как +, а не как %20. Стандартные декодеры URL не преобразуют + обратно в пробел, поэтому включайте параметр «+ as space» при декодировании строк запроса в стиле форм.

Что означает «Malformed percent-encoding» при декодировании?

Это означает, что входные данные содержат %, за которым не следуют две допустимые шестнадцатеричные цифры, либо неполную многобайтовую последовательность, например %E0%A4%A. Декодер не может интерпретировать эти байты, поэтому он сообщает об ошибке вместо того, чтобы возвращать частичный, повреждённый текст.