onlinetools.dev

Кодування / декодування URL

Кодуйте у відсотках або декодуйте складові URL і рядки запиту

Працює локально
loading…
Про цей інструмент

Такі символи, як пробіли, амперсанди та нелатинські літери, не можуть стояти в URL у сирому вигляді, тому їх кодують відсотками: пробіл стає %20, а 你 — %E4%BD%A0. Цей інструмент кодує текст для безпечного включення в URL і декодує відсоткові послідовності назад у читабельний текст, включно з домовленістю про + замість пробілу в рядках запиту.

Режимів кодування два, бо їх два і в самому JavaScript: режим компонента (encodeURIComponent) екранує все, що могло б розділити URL, — саме те, що потрібно для одного значення рядка запиту; режим повного URI (encodeURI) зберігає структурні символи /, ? і &, коли ви кодуєте цілий URL, який має лишитися придатним для переходу.

Декодування суворе щодо викривлених послідовностей із % — самотній % або %ZZ повідомляється як помилка, а не пропускається мовчки, і саме так поставляться до них браузери та сервери.

Часті запитання

Коли використовувати режим компонента, а коли повного URI?
Кодуєте значення, що піде всередину URL (пошуковий запит, адресу переспрямування, e-mail у параметрі) → режим компонента, щоб & і = всередині значення не зламали рядок запиту. Кодуєте цілий URL для показу чи передавання → режим повного URI, щоб структура URL уціліла.
Чому + іноді означає пробіл?
Формат application/x-www-form-urlencoded — його вживають HTML-форми та рядки запиту — історично кодує пробіли як +. У шляхах URL + це просто плюс. Декодер тут трактує + як пробіл, відповідно до семантики рядка запиту; %20 працює завжди й усюди.
Чому мій рядок закодовано двічі (%2520)?
%25 — це кодування самого символу %, тож %2520 означає, що текст %20 закодували вдруге. Так стається, коли два шари системи кодують кожен по разу. Натисніть декодування двічі, щоб розгорнути, а тоді полагодьте шар, який кодувати не повинен.
Чи коректно обробляються символи Unicode?
Так — текст спершу кодується в UTF-8, а тоді кожен байт екранується відсотком, відповідно до стандарту WHATWG URL. Саме тому один ієрогліф перетворюється на три групи %XX.
Пов’язані інструменти