Что такое кодировщик/декодер URL?
URL-кодер/декодер преобразует текст в процентное кодирование и обратно (также называемое кодированием URL-адресов), схема escape, определенная RFC 3986, которая делает произвольные строки безопасными для помещения в URL-адрес. Такие символы, как &, =, ?, # и /имеют структурное значение в URL-адресах - если значение строки запроса содержит буквальное "&", сервер разделит ваш параметр пополам, если этот символ не будет экранирован как% 26. Этот инструмент дает вам все три варианта кодирования, в которые разработчики сталкиваются: encodeURIComponent для отдельных значений, encodeURI для полных URL-адресов и application/x-www-form-urlencoded (пространства как +) для тел формы HTML.
Различие между режимами важнее, чем признают большинство учебных. EncodeUriComponent избегает каждого зарезервированного разделителя, поэтому это правильный выбор для одного параметра запроса, сегмента пути или цели перенаправления, встроенной в другой URL, но запуск его по полному URL-адресу будет изучать https:// в https:// в https://в https%3a%2f%2f. encodeUri сохраняет разделители (: / ? # & =) Таким образом, весь URL остается навигационным, пока пробелы и символы, не являющиеся ASCII, такие как é или 日本, по-прежнему будут избегаться в их форму UTF-8, закодированную в процентах. Режим с кодом form-urlencode совпадает с тем, что браузеры отправляют при отправке <form>: идентичного encodeURComponent, за исключением того, что пробелы становятся «+» вместо «%20» — устаревшая причуда, которая все еще срабатывает интеграцию API сегодня.
Все работает на 100% клиентской стороне в вашем браузере, используя тот же собственный encodeURIComponent, encodeURI и функции decodeURIComponent, которые использует ваш производственный JavaScript, поэтому результаты точно соответствуют тому, что будет производить ваш код. Ничего из того, что вы вставляете - URL-адреса обратного вызова OAuth, подписанные ссылки S3, токены, идентификаторы сеансов - всегда покидает вашу машину. декодер также ловит неверный ввод (непревзойденный %, за которым не следуют две шестизначные цифры, бросает URIError в JavaScript) и сообщает о явной ошибке вместо того, чтобы бесшумно отказывать.
Рабочий пример показывает, как три режима этого кодировщика URL и декодера отличаются на одном и том же тексте. Введите café & crème и нажмите Кодировать с выбранным encodeURIComponent: на выходе caf%C3%A9%20%26%20cr%C3%A8me.Переключите режим на приложение/x-www-form-urlencoded и Кодируйте снова, и пробелы станут +, давая caf%C3%A9+%26+cr%C3%A8me.В режиме encodeURI & остается как есть, потому что encodeURI рассматривает его как разделитель URL, поэтому этот режим подходит для целого URL и не для одного значения. Декодирует переворачивает любое из них, но только режим формы превращается + обратно в пространство.
Как использовать кодер/декодер URL?
Вставьте свой текст или URL
Переместите необработанное значение во входную область — значение параметра запроса, полный URL-адрес с пробелами и юникодом или закодированную строку, например, %3D1%26B%3D2, которую вы извлекли из журналов сервера и хотите декодировать.
Выберите режим кодирования
Выберите EncodeUriComponent для отдельных значений (параметры запросов, сегменты пути), EncodeUri для полных URL-адресов, где : : / ? Должен выжить или закодировать форму, когда вы создаете тело формы HTML или отлаживаете полезную нагрузку с помощью знаков +.
Кодировать или декодировать
Нажмите «Кодировать», чтобы «процентно-кодировать» ввод, или декодировать, чтобы изменить его. Декодирование обрабатывает %xx последовательности и, в режиме формы, преобразует + обратно в пробелы. Неверноформированные последовательности выдают читаемую ошибку вместо пустого вывода.
Скопируйте или поменяйте местами
Скопируйте результат в буфер обмена одним щелчком мыши или используйте кнопку подкачки, чтобы переместить вывод обратно на вход - удобная, когда значение было двойным кодированием (%2520) и требует второго прохода декодирования.
Основные характеристики
Три режима реального мира
encodeURIComponent, encodeURI и urlencoded application/x-www-form - три варианта, которые вы встречаете в строках запросов, полных URL-адресах и телах форм
Нативная кодировка JavaScript
Использует функции кодирования, родные для браузера, поэтому незарезервированные символы RFC 3986 (AZ az 0-9 - _. ~) проходят через нетронутые и многобайтовые последовательности UTF-8 кодируются правильно. Как и ваш собственный JavaScript, он также оставляет ! '( ) * неэкранированный, который RFC 3986 резервирует
Безопасное декодирование с явными ошибками
Деформированные проценты, такие как случайный «%», сообщают, что именно пошло не так, вместо того, чтобы бросить необработанный URIError
подкачать вход и выход
Один клик перемещает результат обратно во входной сигнал, что идеально подходит для развертывания двойных кодированных значений по слоу
Frequently Asked Questions
Related Tools
Caesar Cipher Encoder & Decoder
Encode and decode Caesar cipher text with any shift, plus ROT13 and ROT47. Brute-force all 25 shifts to crack an unknown key.
HTML Entity Encoder/Decoder
Encode and decode HTML entities - named (&), decimal (&), and hex (&) forms, with XSS-safe special-character escaping
Image to Base64 Converter
Convert images to Base64 data URIs and decode Base64 back to images.
Unicode Converter
Convert text to and from Unicode code points, HTML entities, JavaScript escapes, and CSS escapes. Emoji and astral characters handled correctly.
Comments
0 comments
No comments yet. Be the first to share your thoughts!