URL-кодувальник і декодер
Кодуйте текст для URL і рядків запиту, декодуйте закодовані URL і розбирайте будь-який URL на частини з декодованими параметрами запиту.
Працює в браузеріБез реєстраціїНічого не завантажується
Компоненти
Параметри запиту
Як користуватися: URL: кодування / декодування
- Виберіть Кодувати або Декодувати.
- Під час кодування виберіть Компонент для окремого значення параметра чи сегмента шляху, Повний URL, щоб зберегти структуру URL, або Дані форми для
application/x-www-form-urlencoded. - Вставте текст. Результат з'являється миттєво; про некоректні escape-послідовності повідомляється з їхньою позицією.
- Вставте повний URL у Парсер URL, щоб побачити хост, шлях, фрагмент і кожен декодований параметр запиту.
Що таке URL-кодування?
URL може містити лише обмежений набір символів ASCII (RFC 3986). Усе інше, зокрема пробіли, нелатинські літери й символи з особливим значенням на кшталт &, ? і #, записується як знак відсотка й дві шістнадцяткові цифри для кожного байта UTF-8. Пробіл стає %20, а é — %C3%A9.
encodeURIComponent чи encodeURI
| Функція | Не чіпає | Для чого |
|---|---|---|
encodeURIComponent | A-Z a-z 0-9 - _ . ~ | Окреме значення параметра, сегмент шляху чи ім'я параметра |
encodeURI | Також : / ? # [ ] @ ! $ & ' ( ) * + , ; = | Цілий URL, структура якого має зберегтися |
Використовувати encodeURI для значення параметра — класична помилка: & усередині значення не екранується й розбиває параметр на два. Режим «Компонент» у цьому інструменті також екранує ! ' ( ) * для суворої відповідності RFC 3986.
%20 чи + для пробілів?
У шляхах пробіл має бути %20. У надсиланні HTML-форм (application/x-www-form-urlencoded) і багатьох рядках запиту пробіл записується як +. Під час декодування вмикайте Вважати + пробілом для даних форм і вимикайте, якщо важливий буквальний плюс, наприклад у jane+test@example.com.
Поширені запитання
Чому під час декодування з'являється «Некоректна escape-послідовність»?
% мають іти рівно дві шістнадцяткові цифри. Буквальний знак відсотка, як у «знижка 50%», мав бути закодований як %25. Помилка показує позицію неправильної послідовності.Що означає «Некоректна послідовність байтів UTF-8»?
%E9 для é замість %C3%A9), або рядок обрізано посеред символу.Кодувати весь URL чи лише параметри?
= і &. Якщо закодувати повний URL у режимі компонента, екранується й ://, і URL зламається.Подвійне кодування — це проблема?
%20 на %2520. Якщо ви бачите %25 і далі hex-цифри, значення, найімовірніше, закодовано двічі. Декодуйте його двічі, щоб отримати оригінал.