§

Add meg a dekódolandó szöveget:

Add meg az URL-kódolt szöveget, amelyet dekódolni szeretnél. Az eszköz a százalékosan kódolt karaktereket visszaalakítja az eredeti formájukba.
§

Output

decoded

A százalékosan kódolt URL-ek dekódolása mindennapi feladat az amerikai és brit webes környezetben: a Google Analytics 4 `utm_` paramétereinek szétszedése a BigQuery-ben, a Shopify webhook adatainak kibogozása, az OAuth 2.0 átirányításban ugráló `state` érték olvasása, vagy a Cloudflare WAF által elkapott rosszindulatú adat ellenőrzése egy `X-Forwarded-For` fejlécben. Az Apache és NGINX hozzáférési naplókat triázsoló rendszergazdák gyakran beillesztenek gyanús lekérdezési karakterláncokat egy dekódolóba, mielőtt azokat a Splunkon vagy Datadogon keresztül triázsolnák. Ez a kliensoldali dekódoló az RFC 3986-ot követi, és soha nem továbbítja a bemenetet, ami számít, amikor az URL maga is a vizsgált incidens része.

Haladó beállítások

+ konvertálása szóközökké

Ha engedélyezve van, a + karakterek szóközökké lesznek konvertálva. Ez hasznos a lekérdezési paraméterek dekódolásakor.

Élő mód

Ha engedélyezve van, a szöveg automatikusan dekódolásra kerül gépelés közben.

Ezek a beállítások segítenek szabályozni, hogy a kódolt karakterek hogyan legyenek dekódolva az URL-ekben.

Mi az URL dekódolás?

Az URL dekódolás megfordítja a százalékos kódolást: beolvassa a %XX escape szekvenciákat egy kódolt URL-ben, és visszaalakítja őket az általuk képviselt karakterekké. Így nyersz vissza egy olvasható lekérdezési karakterláncot, űrlapértéket vagy útvonalszegmenst egy olyan URL-ből, amelyet egy böngésző, API vagy naplósor kódolva adott neked.

Hogyan működik az URL dekódolás?

Az URL dekódolás egy adott folyamatot követ a százalékosan kódolt szekvenciák visszaalakításához az eredeti karakterekké:

  1. A bemeneti karakterlánc beolvasásra kerül százalékosan kódolt escape szekvenciák (XX) keresésére
  2. Minden %XX a két hex számjegyből vissza lesz konvertálva az eredeti bájtértékre
  3. Az egymást követő dekódolt bájtok UTF-8 karakterekké lesznek összeállítva (egy több bájtos szekvencia egy karakter lesz)
  4. Lekérdezési karakterlánc kontextusban a + szóközként lesz dekódolva (application/x-www-form-urlencoded), míg a %2B szó szerinti + marad
  5. A nem fenntartott karakterek és a már dekódolt szöveg változatlanul áthalad

Miért használj URL dekódolót?

  • Olvasható kimenet: a %20, %40 és %3D visszaalakítása szóközökké, @-jellé és =-jé, hogy elolvasd, mit mond valójában egy URL
  • Nemzetközi szöveg: az ékezetes és nem-ASCII karakterek visszaépítése az UTF-8 bájt szekvenciáikból, így a %C3%A9 ismét é-ként olvasható
  • Hibakeresés: a valódi értékek ellenőrzése egy lekérdezési karakterláncban, OAuth átirányításban vagy webhook adatban, mielőtt cselekszel rájuk
  • Szabványkövető: dekódolás RFC 3986 szerint, ugyanazokkal a szabályokkal, amelyeket a böngészők és szerverek használnak, így pontosan azt látod, amit ők látnak

Mik az URL dekódolás gyakori alkalmazásai?

Az URL dekódolás számos webes fejlesztési forgatókönyvben elengedhetetlen:

  • Űrlap beküldések: az eredeti mezőértékek visszaolvasása az application/x-www-form-urlencoded GET és POST adatokból
  • API fejlesztés: a százalékosan kódolt útvonal- és lekérdezési paraméterek kibontása, amelyek egy API végponthoz érkeznek
  • Fájlrendszerek: a fájlútvonalak és nevek visszanyerése, amelyek százalékosan lettek kódolva, hogy URL-en belül utazhassanak
  • Linkek hibakeresése: a megosztott vagy naplózott URL-ek dekódolása, hogy lásd a speciális karaktereket és nemzetközi szöveget, amelyeket hordoznak

Hogyan néz ki egy URL dekódolási példa?

Íme néhány gyakori példa az URL dekódolásra: %20 (vagy +) szóköz lesz, %40 @ lesz, %23 # lesz, %26 & lesz, és %3D = lesz. Egy UTF-8 szekvencia, mint %C3%A9, a nemzetközi é karakter lesz.

Mi a százalékos kódolás?

A százalékos kódolás az RFC 3986 §2.1 által meghatározott mechanizmus azon karakterek reprezentálására, amelyek nem biztonságosak vagy fenntartottak egy URI-n belül. A szabály mechanikus: minden bájt, amely nem jelenhet meg szó szerint, egy százalékjel és két hexadecimális számjegy — a %XX forma — formájában van írva, ahol XX a bájt értéke. A nem-ASCII karakterek, mint az é, először az UTF-8 bájt szekvenciájukként vannak kódolva, majd minden bájt százalékosan van kódolva egyenként. A fejlesztők szinte naponta találkoznak ezzel: lekérdezési karakterláncokban, űrlapbeküldésekben, OAuth visszahívási URL-ekben, REST API útvonal paraméterekben és bárhol, ahol egy URL-nek írásjeleket, szóközöket vagy a nem fenntartott készleten A–Z a–z 0–9 - _ . ~ kívüli karaktereket kell hordoznia.

Hogyan működik valójában a %C3%A9 dekódolása é-vé?

Vegyük a kódolt lekérdezési karakterláncot ?q=caf%C3%A9&lang=fr. A dekódolás ?q=café&lang=fr-t eredményez. Itt a bájtonkénti lépések:

  • Bemenet: ?q=caf%C3%A9&lang=fr
  • Kimenet: ?q=café&lang=fr
  1. %C3 → bájt 0xC3 (bináris 11000011) — egy 2 bájtos UTF-8 szekvencia vezető bájtja.
  2. %A9 → bájt 0xA9 (bináris 10101001) — a folytató bájt. Kombinálva a C3 A9 az U+00E9 UTF-8 kódolása, ami é.
  3. A ?, = és & karakterek érintetlenül maradnak, mert strukturálisak — elhatárolják a lekérdezést és a kulcs/érték párokat. A szó szerinti caf is áthalad, mivel a kisbetűs ASCII betűk a nem fenntartott készlethez tartoznak.

Mi a különbség a decodeURIComponent és a decodeURI között?

A JavaScript két beépített dekódolót tesz elérhetővé, és ezek összekeverése az egyik leggyakoribb URL-kezelési hiba:

  • A decodeURIComponent(str) minden százalékosan kódolt szekvenciát dekódol, beleértve a fenntartott karaktereket is, mint a &, =, ?, / és #. Használd egyedi lekérdezési karakterlánc értékekre vagy útvonalszegmensekre — soha ne egy teljes URL-en.
  • A decodeURI(str) szándékosan konzervatív: kihagyja a fenntartott karaktereket. Ha %26-t adsz neki, a szó szerinti %26 karakterláncot adja vissza, nem &-et. Teljes URI-kra való, ahol azt szeretnéd, hogy a struktúra túléljen egy oda-vissza utat.

Ökölszabály: ha a karakterlánc egy URL darabja (egyetlen paraméter, egy töredék, egy kódolt fájlnév), nyúlj a decodeURIComponent-hoz. Ez az eszköz úgy viselkedik, mint a decodeURIComponent — minden %XX szekvencia a bemenetedben dekódolásra kerül, beleértve a fenntartott karaktereket is.

Egy URL dekódolása az, ahogy elolvasod, mit tartalmaz valójában. Illessz be egy kódolt karakterláncot fent, és minden %XX szekvencia visszaalakul a karakterévé a böngésződben, így hibakereshetsz egy lekérdezési paramétert, ellenőrizhetsz egy OAuth átirányítást, vagy visszanyerhetsz egy ékezetes fájlnevet anélkül, hogy bármit szerverre küldenél.