Ingyenes konverter

URL kódoló / Dekóder

Kódolja és dekódolja az URL-eket és az URI-összetevőket azonnal a böngészőjében. Ingyenes, privát, és nincs szükség feltöltésre.

Vagy

Az eszközről

Az URL-kódolás (formálisan százalékos kódolás, az RFC 3986-ban definiált) az URL-ekben különleges jelentéssel bíró karaktereket – szóközök, perjelek, „és” jelek, hash jelek – biztonságos formába fordítja százalékjelek és hexa számjegyek használatával. A szóköz karakter %20 lesz (vagy + az űrlapkódolt környezetben), az "és" karakter %26, és így tovább. E kódolás nélkül a speciális karakterek URL-szintaxisként értelmezhetők, nem pedig szó szerinti adatokként, amelyek megtörik az URL-t vagy nem kívánt viselkedést okoznak.

Két kapcsolódó, de eltérő kódolás létezik. A szabványos URL-összetevők kódolása %-kihagyást használ a fenntartatlan karakterkészleten kívül mindenre: A-Z, a-z, 0-9, kötőjel, aláhúzás, pont, hullámvölgy. Az űrlapkódolt változat (application/x-www-form-urlencoded) emellett a szóközöket pluszjelként kezeli, és más szabályokat használ néhány más karakterhez. A JavaScript encodeURIComponent a szigorú komponenskódolást használja; Az encodeURI megengedőbb formát használ, amely megőrzi az URL-struktúra karaktereit.

Ez az eszköz kódolást és dekódolást egyaránt kínál. A kódolási mód minden olyan karaktert tördel, amelyhez meg kell szökni, %HH formátumban; dekódolási mód megfordítja az átalakítást. Mindkettő teljes egészében a böngészőben fut a beépített JavaScript URL-funkciók használatával, így nem küldenek adatokat sehova.

Miért kell URL-eket kódolni vagy dekódolni?

Bármikor, amikor egy URL-ben adat szerepel – lekérdezési karakterlánc-paraméterek, felhasználói bevitelt tartalmazó útvonalszegmensek, átirányítási célok – megfelelő kódolás szükséges. A kódolás elmulasztása olyan URL-eket eredményez, amelyek megszakadnak speciális karakterek megjelenésekor, kiszivárogtatják a paraméterhatárokat a lekérdezési karakterláncokba (az &x=1-et külön paraméterré alakítják), vagy a webszerverek blokkolják őket hibás kérések miatt.

A dekódolás az ellenkezője: az eredeti adatok kinyerése egy kódolt URL-ből. A böngésző címsorai gyakran kódolt formában jelenítik meg az URL-eket; a dekódolás felfedi, hogy valójában mi volt a szándéka. A naplózás, a hibakeresés és a biztonsági elemzés egyaránt előnyös a dekódolt URL-ekből, amelyek az eredeti paramétereket és útvonalakat mutatják.

Használati útmutató

Illesszen be egy karakterláncot, válassza ki az irányt.

  1. Válasszon kódolást vagy dekódolást: A kódolás a nem biztonságos karaktereket %HH formátumba tördeli. A dekódolás megfordítja a %HH visszalépést literális karakterekre.
  2. Beviteli szöveg hozzáadása: Illessze be a karakterláncot a kódoláshoz vagy dekódoláshoz. Kódolás esetén ez általában szóközökkel, speciális karakterekkel vagy nem ASCII-tartalommal rendelkező literális érték. A dekódoláshoz ez egy URL vagy URL-összetevő, amely %HH escape-kódot tartalmaz.
  3. Konvertálni: Az eszköz az encodeURIComponent vagy a decodeURIComponent függvényeket alkalmazza. A kódolt kimenet biztonságosan beágyazható egy URL-be; dekódolt kimenet az eredeti literális érték.
  4. Másolás vagy letöltés: Használja az eredményt, ahol szüksége van rá. A kódolt értékek beleférnek az URL-ekbe; dekódolt értékek felfedik az eredeti adatokat.

Gyakori használati esetek

Műszaki részletek

Az encodeURIComponent az [A-Za-z0-9-_.~] nem fenntartott halmazon kívül minden karaktert kódol. A szóközökből %20, a pluszjelekből %2B, az egyenlőségjelekből %3D lesz, és így tovább. Az ASCII-n kívüli karakterek először UTF-8 kódolásúak, majd minden bájt %-megtisztításra kerül.

Az encodeURI megengedőbb, és a teljes URL-ekhez, nem pedig az összetevőkhöz készült. Nem hagyja el a /, ?, &, =, # és néhány másikat, mert ezeknek a karaktereknek URL-szintaxis jelentésük van. Felhasználói adatok URL-be ágyazásához az encodeURIComponent szinte mindig a megfelelő választás.

A decodeURIComponent megfordítja a %-kilépéseket, ellenőrzi, hogy minden escape-kód megfelelően van-e formázott, és az eredményül kapott bájtok érvényes UTF-8-at alkotnak. Rosszul formázott bemenet hibát okoz, nem pedig szemetet.

Legjobb gyakorlatok

Gyakran ismételt kérdések

Milyen karakterekhez van szükség URL-kódolásra?
A fenntartott karaktereket (&, =, ?, #, /, :, @) és a nem biztonságos karaktereket (szóközök, <, >, {, }, |, ^, ~, [, ], `) kódolni kell. Az alfanumerikus karakterek és a -_.~ biztonságosak, és nem igényelnek kódolást.
Mi a különbség az encodeURI és az encodeURIComponent között?
Az encodeURI egy teljes URL-t kódol, de megőrzi a fenntartott karaktereket (://?#). Az encodeURIComponent mindent kódol, kivéve a -_.!~*'() -t — használja a paraméterértékek lekérdezéséhez. Ez az eszköz mindkét módot kínálja.
Hogyan kódolják a szóközöket az URL-ekben?
A szóközök %20-ként (normál százalékos kódolás) vagy +-ként (űrlapkódolás) kódolhatók. A %20 helyes az URL-útvonalakhoz, míg a + a HTML-űrlapokból származó lekérdezési karakterláncokban használatos. Ez az eszköz alapértelmezés szerint a %20-at használja.
Kódolhatok Unicode karaktereket?
Igen. A Unicode karakterek először UTF-8 bájtba vannak kódolva, majd minden bájt százalékos kódolású. Például a '日' értéke %E6%97%A5 (három UTF-8 bájt, mindegyik százalékos kódolású).
Az encodeURI-t vagy az encodeURIComponent-t használjam?
Szinte mindig encodeURIComponent. Csak akkor használja az encodeURI-t, ha teljes URL-lel rendelkezik, és meg akarja őrizni annak szerkezetét – ez általában ritka, mivel az URL-eket amúgy is összetevőkből építi fel.
Fel vannak töltve az adataim egy szerverre?
Nem. Az URL-kódolás és a dekódolás teljes mértékben az Ön böngészőjében történik.
Kezeli az Unicode hangulatjeleket?
Igen. A hangulatjelek többbájtos UTF-8 sorozatok; a kódoló %-os kiszabadult bájtokból álló láncot állít elő, amelyet a dekóderek helyesen állítanak vissza az eredeti hangulatjelre.
Mi a teendő, ha a bemenetemben %HH kinézetű karakterláncok vannak, amelyek valójában nincsenek kódolva?
A kódolás minden %-ot %25-re változtat, majd újra alkalmazza a kilépést a többire. A szigorú bemenet dekódolása hibákat vet fel a hibás formátumú kilépéseknél; a kétértelműnek tűnő karakterláncok helytelenül dekódolhatnak.