Toolbox Hub
Все инструменты

URL Encoder/Decoder

URL encode decode

URL encode decode Запускается локально в вашем браузере

About the

URL-кодер преобразует текст в процентную кодировку, чтобы он сохранялся при помещении в URL-адрес, и декодирует его снова, когда вы смотрите на что-то вроде %E4%BD%A0%E5%A5%BD и хотите узнать, что там написано. Такие символы, как пробелы, амперсанды, вопросительные знаки и буквы, отличные от ASCII, имеют особое значение внутри URL-адреса, поэтому передача их через необработанный код разрывает ссылку или, что еще хуже, автоматически изменяет то, что получает сервер. При кодировании каждый небезопасный символ заменяется знаком процента, за которым следуют две шестнадцатеричные цифры.

Where people use the

  • Создание URL-адреса поиска или фильтра со значением, содержащим пробелы.
  • Чтение строки в процентном кодировании, скопированной из адресной строки или журнала.
  • Подготовка значения для вызова API, требующего кодирования запроса.
  • Проверяем, почему оборвалась ссылка с амперсандом в параметре.

How to use the

  1. 1

    Выберите направление

    Encode преобразует читаемый текст в процентную кодировку; декодирование возвращает его обратно.

  2. 2

    Вставьте текст

    Для кодирования вставьте значение, которое вы хотите поместить в строку запроса. Для декодирования вставьте весь фрагмент, закодированный в процентах.

  3. 3

    Конвертировать

    Результат появляется сразу. Если декодирование завершается неудачей, входные данные не являются допустимыми данными в процентном кодировании.

  4. 4

    Скопируйте его в свой URL

    Закодированные значения идут после вопросительного знака в виде пар имя=значение, соединенных амперсандами.

Советы и лучшие практики

  • Кодируйте каждое значение параметра отдельно, а не весь URL-адрес.
  • Если значение на сервере выглядит неправильно, проверьте, было ли оно закодировано дважды.
  • Помните о разнице: %20 для URL-адресов плюс для тела формы.

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

Почему вместо знака плюс стал пробелом %20?

Потому что здесь используется encodeURIComponent, который соответствует современному стандарту и выдает %20. Знак плюс, означающий пространство, — это соглашение об отправке формы, которое применяется только к телам с кодом application/x-www-form-urlencode, а не к сегментам пути или запроса в целом.

Почему не удается декодировать мою строку?

Обычно потому, что за знаком процента следует что-то, кроме двух шестнадцатеричных цифр. Это происходит, когда строка была закодирована дважды или когда она была обрезана в середине символа. Декодируйте один слой за раз.

Кодирует ли он весь URL-адрес сразу?

Он кодирует компонент, а не весь URL-адрес. Если вы передаете через него полный URL-адрес, косые черты, двоеточия и вопросительные знаки также будут закодированы, создавая то, что браузер больше не сможет использовать. Вместо этого кодируйте отдельные значения параметров.

А как насчет символов UTF-8, таких как китайский язык или эмодзи?

Они кодируются как байты UTF-8, поэтому один символ превращается в несколько экранированных в процентах триплетов. Это правильно, и каждый сервер, который ожидает UTF-8, прочитает его правильно.

Слэш закодирован?

Да, encodeURIComponent кодирует косую черту. Это сделано намеренно: косую черту внутри значения параметра нельзя принимать за разделитель пути.

Сопутствующие инструменты