URL kódoló és dekódoló
Százalékos kódolás URL-ekhez és query stringekhez, kódolt URL-ek dekódolása, és bármely URL felbontása részeire, dekódolt query paraméterekkel.
A böngésződben futNincs regisztrációNincs feltöltés
Összetevők
Query paraméterek
Hogyan használd: URL kódolás / dekódolás
- Válaszd a Kódolás vagy a Dekódolás módot.
- Kódoláskor válaszd a Komponens módot egyetlen query értékhez vagy útvonalszegmenshez, a Teljes URL módot az URL szerkezetének megtartásához, vagy az Űrlapadat módot az
application/x-www-form-urlencodedformátumhoz. - Illeszd be a szöveget. Az eredmény azonnal megjelenik; a hibás escape-eket pozíciójukkal együtt jelezzük.
- Illessz be egy teljes URL-t az URL-elemzőbe, hogy lásd a hostját, útvonalát, fragmentjét és minden dekódolt query paraméterét.
Mi az URL-kódolás?
Az URL-ek csak az ASCII karakterek korlátozott körét tartalmazhatják (RFC 3986). Minden mást, beleértve a szóközöket, az ékezetes betűket és a különleges jelentésű karaktereket, mint az &, a ? és a #, minden UTF-8 bájt esetén egy százalékjel és két hexadecimális számjegy jelöl. A szóközből %20, az é betűből %C3%A9 lesz.
encodeURIComponent vagy encodeURI
| Függvény | Változatlanul hagyja | Mire való |
|---|---|---|
encodeURIComponent | A-Z a-z 0-9 - _ . ~ | Egyetlen query érték, útvonalszegmens vagy paraméternév |
encodeURI | Ezeket is: : / ? # [ ] @ ! $ & ' ( ) * + , ; = | Teljes URL, amelynek a szerkezete nem sérülhet |
Az encodeURI használata egy query értékre klasszikus hiba: az értéken belüli & nem kap escape-et, így kettévágja a paramétert. Az eszköz Komponens módja a ! ' ( ) * karaktereket is escape-eli a szigorú RFC 3986 megfelelés érdekében.
%20 vagy + a szóközhöz?
Útvonalakban a szóköz csak %20 lehet. HTML-űrlapok elküldésekor (application/x-www-form-urlencoded) és sok query stringben a szóközt + jelöli. Dekódoláskor űrlapadatokhoz kapcsold be A + szóköznek számít opciót, és kapcsold ki, ha a szó szerinti pluszjel fontos, például a jane+test@example.com címben.
Gyakran ismételt kérdések
Miért kapok „Hibás escape” hibát dekódoláskor?
% jelet pontosan két hexadecimális számjegynek kell követnie. A szó szerinti százalékjelet, mint az „50% kedvezmény” kifejezésben, %25-ként kellett volna kódolni. A hiba megmutatja a hibás sorozat pozícióját.Mit jelent az „Érvénytelen UTF-8 bájtsorozat”?
%E9 az é betűhöz %C3%A9 helyett), vagy a stringet egy karakter közepén vágták el.A teljes URL-t kódoljam, vagy csak a paramétereket?
= és & jellel. Ha egy teljes URL-t komponens módban kódolnál, a :// is escape-et kapna, és az URL elromlana.Gond a dupla kódolás?
%20 értékből %2520-at csinál. Ha %25 utáni hexadecimális számjegyeket látsz, az értéket valószínűleg kétszer kódolták. Dekódold kétszer az eredeti visszaállításához.