Без завантаження, 100% локально, без облікового запису

Кодувальник / декодувальник URL

Кодуйте спеціальні символи в URL чи декодуйте рядки з відсотковим кодуванням. Усе залишається у вашому браузері.

Як працює Кодувальник / декодувальник URL

Кодувальник/декодувальник URL конвертує рядки до та з відсоткового кодування (також зване URL-кодуванням) відповідно до формату, який вимагає RFC 3986 для безпечного включення спеціальних символів в URL. Вставте сирий рядок для кодування або вставте відсотково кодований рядок для декодування назад у зрозумілу людині форму. Конвертація виконується повністю у браузері за допомогою encodeURIComponent та decodeURIComponent JavaScript; ніщо з введеного не покидає пристрій.

URL-кодування важливе при програмному побудові параметрів запиту, URI переспрямування або канонічних посилань. Пробіл стає %20, амперсанд %26, хеш %23 і так далі. Кодування також застосовується до інтернаціоналізованих доменних імен та символів не-ASCII у сегментах шляху. Цей інструмент також пропонує режим encodeURI для кодування повних URI при збереженні структурних символів, як-от '/', '?' та '#'.

Кодувальник / декодувальник URL: покрокова інструкція

  1. Вставте текст для кодування або декодування в поле введення.
  2. Виберіть «Кодувати» для відсоткового кодування тексту або «Декодувати» для зворотного.
  3. Виберіть режим 'encodeURIComponent' для значень параметрів запиту або режим 'encodeURI' для повних URI.
  4. Скопіюйте результат із поля виводу.

Поширені сценарії використання

  • Розробник, що будує URL переспрямування пошуку, має відсотково кодувати рядок запиту, щоб спеціальні символи не порушували структуру URL.
  • Інтегратор API отримує відсотково кодований URL зворотного виклику у навантаженні вебхуку і потребує його декодування для перевірки цільової адреси.
  • Редактор контенту копіює URL із символами з акцентами з браузера і потребує закодувати його для використання в посиланні Markdown.
  • QA-інженер тестує кінцеву точку перевірки введення, кодуючи граничні символи, як-от '<', '>' та '&', перед їхнім відправленням.

Поширені запитання

У чому різниця між encodeURIComponent та encodeURI?

encodeURIComponent кодує все, крім літер, цифр та символів - _ . ! ~ * ' ( ). Він призначений для кодування окремих компонентів, наприклад значень параметрів запиту. encodeURI залишає структурні символи URI (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) незакодованими, оскільки припускає, що вхід є повним URI. Використовуйте encodeURIComponent для значень, encodeURI для цілих URL.

Чи передається текст, вставлений тут, на будь-який сервер?

Ні. Кодування та декодування викликають вбудовані функції JavaScript encodeURIComponent та decodeURIComponent, які виконуються повністю в JavaScript-двигуні браузера. Ніщо з введеного тут нікуди не надсилається.

Чому пробіл іноді стає '+' замість '%20'?

Нотація '+' для пробілів походить із застарілого формату application/x-www-form-urlencoded, що використовується у відправленнях HTML-форм, який відрізняється від відсоткового кодування RFC 3986. Цей інструмент використовує суворе відсоткове кодування RFC 3986, тому пробіли стають %20. Якщо ваша цільова система очікує '+' для пробілів, потрібно вручну замінити %20 на '+' після кодування.

Чи можна кодувати повний URL, включаючи рядок запиту, одночасно?

Так, використовуючи режим 'encodeURI'. Цей режим зберігає '/', '?', '=', '&', '#' та інші структурні символи URL, кодуючи символи не-ASCII та зарезервовані символи, що з'являються у значеннях сегментів або параметрів. Використовуйте 'encodeURIComponent' лише для окремих значень параметрів, а не для повного URL.

Чи обробляє цей інструмент символи Unicode та емодзі?

Так. encodeURIComponent JavaScript спочатку конвертує символ до його послідовності байтів UTF-8, потім відсотково кодує кожен байт. Емодзі, наприклад «великий палець вгору», кодується як багатобайтова послідовність, наприклад %F0%9F%91%8D. Декодування коректно відновлює процес.