DevToolPal
UK

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

Кодуйте текст у percent-encoding для безпечного використання в URL і рядках запиту або декодуйте послідовності %XX назад у текст.

Працює локально, нічого не завантажується на сервер

Параметри

Режим
Кодувати

Вхідні дані

0 симв. · 0 B

Результат

0 симв. · 0 B

Що робить цей інструмент

URL-кодування, яке ще називають percent-encoding, замінює символи, недозволені в URL або такі, що мають у ньому особливе значення, на % і дві шістнадцяткові цифри. Пробіл стає %20, амперсанд — %26, а текст поза ASCII, як-от 中文, спочатку перетворюється на байти UTF-8, і кожен байт записується як %XX.

Цей інструмент кодує текст, щоб його можна було безпечно вставити в рядок запиту, сегмент шляху чи запит до API, і декодує percent-encoded рядки, скопійовані з логів, адресного рядка браузера чи HTTP-трасувань, назад у читабельний текст.

Як користуватися

  1. Вставте текст або URL у поле Вхідні дані чи натисніть Приклад.
  2. Виберіть Кодувати або Декодувати.
  3. Під час кодування виберіть Компонент, щоб закодувати окреме значення (наприклад, пошуковий запит), або Повний URL, щоб зберегти :, /, ?, & і = без змін.
  4. Увімкніть Пробіл як + для даних HTML-форм і Кожен рядок окремо, щоб обробити список значень за один раз.
  5. Скопіюйте або збережіть результат. Якщо декодування не вдалося, помилка вкаже позицію зламаної 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.

› Чи надсилаються мої дані на сервер?

Ні. Кодування й декодування повністю виконуються у вашому браузері.