URL Кодування та Декодування

Перетворює текст в URL формат та декодує URL

Спробуйте ці приклади:

Про URL-кодування

URL-кодування, також відоме як відсоткове кодування, — це механізм кодування інформації в уніфікованому ідентифікаторі ресурсу (URI). Воно використовується для перетворення символів, які не допускаються в URL, у формат, який можна передавати через Інтернет. Це кодування замінює небезпечні ASCII-символи знаком "%" з подальшими двома шістнадцятковими цифрами.

Поширені застосування URL-кодування

  • Форматування рядків запиту в URL
  • Надсилання даних форми через HTTP-запити (application/x-www-form-urlencoded)
  • Створення дійсних URL зі спеціальними символами або пробілами
  • Кодування не-ASCII символів в URL
  • Передача складних параметрів в API та веб-сервісах

Як працює URL-кодування

URL-кодування слідує таким принципам:

  • Буквено-цифрові символи (A-Z, a-z, 0-9) залишаються без змін
  • Спеціальні символи, як-от пробіл, ?, &, =, %, + перетворюються на їхні відсотково-кодовані еквіваленти
  • Кожен байт UTF-8 закодованого символу кодується окремо
  • Символ пробілу можна кодувати як "%20" або "+" (у параметрах запиту)
  • Зарезервовані символи, як-от /, :, ?, #, [ мають особливе значення в URL і можуть оброблятися по-різному залежно від їхнього контексту

encodeURI та encodeURIComponent

JavaScript надає дві функції для URL-кодування:

  • encodeURI: Кодує повний URI, зберігаючи символи, які є частиною синтаксису URI (як-от /:?#[]@!$&'()*+,;=)
  • encodeURIComponent: Кодує компонент URI (наприклад, значення параметра запиту), кодуючи більше символів, включаючи ті, які мають особливе значення в URI

У більшості випадків при кодуванні введення користувача або параметрів запиту, encodeURIComponent() є безпечнішим варіантом, оскільки він забезпечує правильне кодування всіх потенційно проблемних символів.

URL-кодування для міжнародних символів

Сучасні браузери кодують не-ASCII символи за допомогою UTF-8 кодування, а потім відсотково-кодують кожен байт. Це гарантує, що міжнародні символи, емодзі та інші символи Unicode можуть бути належним чином включені в URL. Наприклад, українська літера "ї" спочатку кодується в UTF-8 як два байти (D1 97), а потім відсотково-кодується як "%D1%97".

Приклади

Звичайний текстURL-закодований
Привіт Світ%D0%9F%D1%80%D0%B8%D0%B2%D1%96%D1%82%20%D0%A1%D0%B2%D1%96%D1%82
https://приклад.укр/?пошук=Київhttps%3A%2F%2F%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4.%D1%83%D0%BA%D1%80%2F%3F%D0%BF%D0%BE%D1%88%D1%83%D0%BA%3D%D0%9A%D0%B8%D1%97%D0%B2
Знижка 50% на все!%D0%97%D0%BD%D0%B8%D0%B6%D0%BA%D0%B0%2050%25%20%D0%BD%D0%B0%20%D0%B2%D1%81%D0%B5%21
Україна%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D0%B0