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.
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:
kávé & tea
k%C3%A1v%C3%A9%20%26%20tea
nyári ruhák
ny%C3%A1ri%20ruh%C3%A1k
1+1=2
1%2B1%3D2
https://example.com/szolgáltatások árlista?q=kávé
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.
Kapcsolódó eszközök
További eszközök fejlesztőknek: kódolás, hashek, azonosítók és formátumok.
GYIK
Mi az URL-kódolás?
%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?
%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?
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?
% 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?
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.