Ugrás a tartalomra

URL-kódoló és dekódoló

Illesszen be szöveget vagy egy teljes címet, és azonnal látja a kódolt vagy az olvasható változatot. Jól jön szóközt, ékezetes betűt vagy & jelet tartalmazó linkekhez, API-paraméterekhez és hosszú címek megfejtéséhez.

A szöveg sehová sem kerül elküldésre, minden az Ön böngészőjében történik.

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

Egy URL nem egyszerű mondat. Egyes karaktereknek saját jelentésük van benne: a kérdőjel a paramétereket kezdi, az & jel elválasztja őket, a kettőskereszt pedig egy helyet jelöl az oldalon. Szóközt és ékezetes betűt nem szabad közvetlenül a címbe írni. Az URL-kódolás, angolul URL encoding vagy percent-encoding, ezért az ilyen karaktereket egy % jelre és két hexadecimális számjegyre cseréli. A szóközből %20, az & jelből %26, az á betűből %C3%A1 lesz, mert UTF-8-ban két bájtot foglal.

Mire jó az URL-kódoló

  • keresett kifejezést vagy szűrőt tartalmazó link összeállításához
  • ha egy paraméter szóközt, ékezetes betűt, & jelet vagy kérdőjelet tartalmaz
  • e-mailből, hirdetésből vagy keresőből származó hosszú cím megfejtéséhez
  • API-hoz, űrlaphoz vagy query stringhez szánt értékek előkészítéséhez
  • ha azt keresi, miért romlott el egy link beillesztés után

Példák

Így néznek ki a szokásos szövegek kódolás előtt és után:

Keresett kifejezés
Bemenet
kávé & tea
Eredmény
k%C3%A1v%C3%A9%20%26%20tea
Ékezetes szöveg
Bemenet
nyári ruhák
Eredmény
ny%C3%A1ri%20ruh%C3%A1k
Érték + és = jellel
Bemenet
1+1=2
Eredmény
1%2B1%3D2
Teljes cím
Bemenet
https://example.com/szolgáltatások árlista?q=kávé
Eredmény
https://example.com/szolg%C3%A1ltat%C3%A1sok%20%C3%A1rlista?q=k%C3%A1v%C3%A9

Teljes cím vagy csak egy része

Ha https:// kezdetű teljes címet illeszt be, a kódoló megtartja a szerkezetét, és csak a szóközöket, az ékezetes betűket és a többi nem megengedett karaktert kódolja. Ha csak egy értéket illeszt be, például keresett kifejezést, akkor az &, ?, / vagy = karaktereket is kódolja, hogy a böngésző ne tekintse őket a cím részének. A paraméter értékét ezért külön kódolja, és csak utána illessze be a linkbe.

Szóköz %20-ként vagy +-ként

A szóközt kétféleképpen írják a címekben. A szabvány szerint %20, az űrlapok és a keresők, például a Google, a paraméterekben viszont + jelet használnak. A kódoló a szóközt mindig %20 formában írja, ezt minden szerver megérti. Dekódoláskor a paraméterekben lévő + jelet szóközként olvassa, a valódi plusz jelet pedig a %2B alakról ismeri fel.

GYIK

Mi az URL-kódolás?

Az URL-kódolás, más néven percent-encoding, a címben közvetlenül nem szereplő karaktereket egy % jellel és két hexadecimális számjeggyel írja le. A szóközből %20, az & jelből %26, az ékezetes betűkből két ilyen kód lesz, például az á betűből %C3%A1.

Miért írják a szóközt hol %20-ként, hol +-ként?

A %20 az URL-szabvány szerinti alak, és mindenhol működik. A + jelet szóközként a HTML-űrlapok és a keresők használják, de csak a kérdőjel utáni paraméterekben. Ez a kódoló ezért a szóközt %20 formában írja, dekódoláskor pedig mindkét alakot megérti.

Kódolhatok egy teljes URL-t?

Igen. Ha a cím például https:// kezdetű, az eszköz felismeri, és megtartja a /, ?, & és = karaktereket, hogy a link működjön. Csak a szóközöket, az ékezetes betűket és a többi nem megengedett karaktert kódolja. Ha a teljes címet paraméterértékként szeretné beilleszteni, például egy átirányításba, kattintson az eredmény alatt a Kódolás paraméterértékként gombra.

Miért kapok hibát dekódoláskor?

Minden % jel után két hexadecimális számjegynek, vagyis 0 és 9 vagy A és F közötti karakternek kell állnia. Hibát okoz a hiányosan másolt cím is, például ha a %C3%A1 kódból csak %C3 marad. Ha a szövegben maga a százalékjel szerepel, azt %25 formában kell kódolni.

Megegyezik az eredmény a PHP-val vagy a JavaScripttel?

Értékek kódolásakor az eredmény megegyezik a PHP rawurlencode függvényével. A JavaScript encodeURIComponent függvénye változatlanul hagyja a ! ' ( ) * karaktereket, ez az eszköz ezeket is kódolja, amit például az OAuth aláírások megkövetelnek. Dekódoláskor úgy viselkedik, mint a PHP urldecode függvénye, vagyis a + jelet szóközként olvassa.

Elküldésre kerül a szövegem egy szerverre?

Nem. A kódolás és a dekódolás közvetlenül az Ön böngészőjében történik, a szöveg nem hagyja el a számítógépét.

Miért fontos az URL-kódolás?

A böngészőnek és a szervernek pontosan tudnia kell, hol ér véget a cím, és hol kezdődik az érték. Ha például a kávé & tea kifejezésre keres, és nem kódolja az & jelet, a szerver egy új paraméter kezdetének veszi, és csak a „kávé” szót kapja meg.