Кодировщик URL / Декодировщик
Мгновенно кодируйте и декодируйте URL и компоненты URI в браузере. Бесплатно, конфиденциально и без загрузки файлов.
Мгновенно кодируйте и декодируйте URL и компоненты URI в браузере. Бесплатно, конфиденциально и без загрузки файлов.
Кодирование URL-адресов (формально процентное кодирование, определенное в RFC 3986) переводит символы, имеющие особое значение в URL-адресах — пробелы, косые черты, амперсанды, решетки — в безопасную форму с использованием знаков процента, за которыми следуют шестнадцатеричные цифры. Символ пробела становится %20 (или + в контекстах с кодировкой формы), амперсанд становится %26 и так далее. Без этой кодировки специальные символы будут интерпретироваться как синтаксис URL-адреса, а не как буквальные данные, что приведет к нарушению URL-адреса или вызовет непредвиденное поведение.
Существуют две связанные, но разные кодировки. Стандартная кодировка компонента URL-адреса использует %-экранирование для всего, что находится за пределами незарезервированного набора символов: A-Z, a-z, 0-9, дефис, подчеркивание, точка, тильда. Вариант с кодировкой формы (application/x-www-form-urlencoded) дополнительно рассматривает пробелы как знаки плюса и использует другие правила для некоторых других символов. JavaScript encodeURIComponent использует строгую кодировку компонентов; encodeURI использует более разрешительную форму, сохраняющую символы структуры URL.
Этот инструмент предлагает как кодирование, так и декодирование. Режим кодирования оборачивает каждый символ, требующий экранирования, в формат %HH; режим декодирования отменяет преобразование. Оба полностью запускаются в вашем браузере с использованием встроенных URL-функций JavaScript, поэтому никакие данные никуда не отправляются.
Каждый раз, когда данные включаются в URL-адрес — параметры строки запроса, сегменты пути, содержащие пользовательский ввод, цели перенаправления — требуется правильное кодирование. Отсутствие кодирования приводит к тому, что URL-адреса ломаются при появлении специальных символов, пропускают границы параметров в строки запроса (превращая &x=1 в отдельный параметр) или блокируются веб-серверами как некорректные запросы.
Декодирование — это обратный процесс: извлечение исходных данных из закодированного URL-адреса. В адресной строке браузера URL-адреса часто отображаются в закодированном виде; декодирование показывает, что на самом деле было задумано. Ведение журнала, отладка и анализ безопасности — все это выигрывает от декодированных URL-адресов, которые показывают исходные параметры и пути.
Вставьте строку, выберите направление.
encodeURIComponent кодирует каждый символ за пределами незарезервированного набора [A-Za-z0-9-_.~]. Пробелы становятся %20, знаки плюс становятся %2B, знаки равенства становятся %3D и так далее. Символы вне ASCII сначала кодируются в UTF-8, а затем каждый байт экранируется %.
encodeURI более разрешителен и предназначен для полных URL-адресов, а не для компонентов. Он не экранирует /, ?, &, =, # и некоторые другие символы, поскольку эти символы имеют значение синтаксиса URL. Для встраивания пользовательских данных в URL-адрес почти всегда правильным выбором является encodeURIComponent.
decodeURIComponent инвертирует %-escape, проверяя, что каждый escape правильно сформирован и что полученные байты образуют действительный UTF-8. Неверный ввод выдает ошибку, а не мусор.