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 в режим компонент би екранирало и :// и би го развалило.Проблем ли е двойното кодиране?
%20 в %2520. Ако видите %25, последвано от hex цифри, стойността вероятно е кодирана два пъти. Декодирайте я два пъти, за да получите оригинала.