Що робить цей інструмент
URL-кодування, яке ще називають percent-encoding, замінює символи, недозволені в URL або такі, що мають у ньому особливе значення, на % і дві шістнадцяткові цифри. Пробіл стає %20, амперсанд — %26, а текст поза ASCII, як-от 中文, спочатку перетворюється на байти UTF-8, і кожен байт записується як %XX.
Цей інструмент кодує текст, щоб його можна було безпечно вставити в рядок запиту, сегмент шляху чи запит до API, і декодує percent-encoded рядки, скопійовані з логів, адресного рядка браузера чи HTTP-трасувань, назад у читабельний текст.
Як користуватися
- Вставте текст або URL у поле Вхідні дані чи натисніть Приклад.
- Виберіть Кодувати або Декодувати.
- Під час кодування виберіть Компонент, щоб закодувати окреме значення (наприклад, пошуковий запит), або Повний URL, щоб зберегти
:,/,?,&і=без змін. - Увімкніть Пробіл як + для даних HTML-форм і Кожен рядок окремо, щоб обробити список значень за один раз.
- Скопіюйте або збережіть результат. Якщо декодування не вдалося, помилка вкаже позицію зламаної escape-послідовності.
Приклад
Кодування пошукового запиту hello world & more як компонента дає:
hello%20world%20%26%20more
Декодування q=%E4%BD%A0%E5%A5%BD дає q=你好.
Що й коли використовувати
- Складаєте рядок запиту вручну: кодуйте кожне значення як компонент, а потім з’єднуйте їх через
&і=. - Виправляєте повне посилання з пробілами чи кириличними або китайськими символами: використовуйте Повний URL, щоб структура посилання збереглася.
- Читаєте логи сервера: декодуйте з увімкненим Пробіл як +, бо багато серверів записують дані форм саме в такому форматі.
Часті запитання
› Чим відрізняються «Компонент» і «Повний URL»?
«Компонент» кодує всі зарезервовані символи, зокрема / ? & = і #, тож результат безпечно вставляти в окремий параметр запиту чи сегмент шляху. Це відповідає encodeURIComponent у JavaScript. «Повний URL» залишає ці символи, щоб адреса й далі працювала як посилання, що відповідає encodeURI.
› Пробіли мають ставати %20 чи +?
Використовуйте %20 для шляхів і більшості API. Використовуйте + лише для даних HTML-форм (application/x-www-form-urlencoded) — саме так браузери надсилають форму. Для цього випадку ввімкніть «Пробіл як +».
› Чому під час декодування я отримую «not valid UTF-8»?
Байти %XX не утворюють повного символу UTF-8 — зазвичай тому, що текст обрізано посередині багатобайтового символу або його закодовано застарілим кодуванням, як-от GBK чи Latin-1.
› Чи надсилаються мої дані на сервер?
Ні. Кодування й декодування повністю виконуються у вашому браузері.