Інструменти розробника · URL енкодер & декодер
кодування код товару: які символи кожен одного листя
· Як працює
Опубліковано ToolAcre · Рецензування журналу
виворітна обробка Завантажити плагін розробник-workflow

Два JavaScript функції, які відрізняються точно одинадцятьма символами, і вибираючи неправильний один або розбиває неправильний URL або не в змозі уникнути значення. Це повідомлення виписує набори і дає правило, ви можете пам'ятати.
Пошук, який повернув все, тому що "R&D" розбити запит — бетонна помилка з неправильної функції
Пошук R&D може випадково повернути результати для R, якщо код конструює ?q=R&D вручну. Амперсанд є сепаратором між параметрами запиту; він не зберігається в складі q, якщо ви зашифруєте значення. Вибираючи кодURI для того, що невеликий шматок є помилкою, а не помилка сервера. Найбезпечніший варіант в коді додатків часто URLПошукПараметри, але розуміння двох JavaScript примітиви значно полегшують відключення коду.
Яка частка функцій — незбережена множина, яка ніколи не торкається і UTF-8 відсотків, які вони обидва застосовуються
Обидва способи залишити ASCII літери, цифри і незбережені пунктуація - . ! ~ * " ( ) доручені під JavaScriptПравила кодування. Перетворення не-ASCII символи до UTF-8 байти перед написанням відсотків походів: é стає %C3%A9, не єдиний латинсько-1 byte. Вони також кодують простір як %20Про збереження структури URI; це не HTML escaping, введення або захист від шкідливого сценарію на сторінці отримання.
Одинадцять символів тільки кодURI зберігає — ; , / ? : @ & = + $ # і чому кожен має структурне значення в URL
encodeURI додатково зберігає одинадцять структурних символів, які зашифровують кодування компонентів: ; , / ? : @ & = + $ #. Для повної адреси, залишивши суспензію і позначку питання самостійно зберігає свій шлях і синтаксис запиту. Для значення запиту, відпуску та/або = через зміни списку параметрів, при цьому нерозпакований # може почати фрагмент. Функції точно відрізняються тим, що один призначений для всієї адреси та іншого компонента всередині цієї адреси.
Правило, що має: значення одержують кодURIComponent, повні URL-адреси отримують кодURI — і чому «повний» URL- рідко, ніж він звуків
Цінності майже завжди одержують кодURIComponent; завершені, вжеструктуровані адреси є менш поширеним випадок для кодування. Для URL Ви розробляєте програму, використовуючи URL API обробляти шлях і параметри пошуку замість конкатування суміші закодованих і сирих частин. Не закодувати весь URL з кодомURI Компонентом, а потім очікується зітхання і товсті кишки, щоб тримати бджіл як сепаратори. Повернено, не задовольнить термін запиту користувача за допомогою кодуURI і залиште свій амперсанд активний.
Створений приклад: той же рядок через обидві функції — таблиця вихідних для значення з пробілами, та / та акцентом
Приймати Р&D / кафе як одне значення запиту. кодування повертає R%26D%20%2Ф%20caf%C3%A9, захист ампери і лосини. КодURI повертає R&Д%20/%20caf%C3%A9, збереження структурної пунктуації; наїв ? й= префікс тепер створить непристойний глушник. Як зашифрувати простір і акцент, тому тест за допомогою тільки «світлий світ» пропускає важливу відмінність. Порівняйте отримані рядки в ToolAcre, потім вставте їх в URL аналізувати і перевірити, як з'являються багато параметрів запиту.
Загальні помилки — кодування повного URL з кодомURIComponent та декодуванням неправильного аналога
Захоплення повного URL як один компонент виробляє %3A%2F%2F де споживач очікуваний ://. Визначте всю адресу, перш ніж вводити її, можна переосмислити зарезервовані сепаратори новими значеннями. Також уникайте подвійної обробки значення, що містить %26: процентний знак може стати %25, так що другий шар декодування може знову змінити значення. Pair encodeURIComponent with decodeURI Компонент для компонента та лікування пошкоджених відсотків втечу як помилки введення.
Що це не охоплює — формує кодування з +, і побудови URL-адрес з URL-адресоюПошукПарами
HTML форма кодування запиту використовує знак плюс для простору в додатку/x-www-form-urlencoded, що відрізняється від %20 вихід цих двох функцій. URL-адресаПошукПараметри ручать вам правила форми. Ця стаття не охоплює нормалізацію шляху, перетворення імені Unicode або декодування, чи є декодовано URL є безпечним для запиту; URL кодування є кроком представлення, не політики авторизації.
Похід: закодувати частини, не весь — як працює URL encoder & decoder показує як режими, так що ви можете бачити різницю у вашому власному вході
Пам'ятна межа є частинами в усьому: значення параметра є частиною, тому використовуйте кодURIComponent або URLSearchParams. URL encoder & decoder показує як функції браузера для одного рядка і зберігає локальний експеримент. Тестовий вхід, що містить &, =, #, slash і акцент перед тим, як вирішити, що два кодувальники взаємозамінюються.