Koder URL / Dekoder
Koduj i dekoduj adresy URL i komponenty URI natychmiast w przeglądarce. Bezpłatne, prywatne i nie wymaga przesyłania.
Koduj i dekoduj adresy URL i komponenty URI natychmiast w przeglądarce. Bezpłatne, prywatne i nie wymaga przesyłania.
Kodowanie URL (formalnie kodowanie procentowe, zdefiniowane w RFC 3986) tłumaczy znaki, które mają specjalne znaczenie w adresach URL – spacje, ukośniki, ampersandy, znaki krzyżyka – na bezpieczną formę przy użyciu znaków procentów, po których następują cyfry szesnastkowe. Znak spacji staje się%20 (lub + w kontekstach zakodowanych w formie), znak ampersand staje się%26 i tak dalej. Bez tego kodowania znaki specjalne byłyby interpretowane jako składnia adresu URL, a nie jako dane dosłowne, co uszkadzałoby adres URL lub powodowało niezamierzone zachowanie.
Istnieją dwa powiązane, ale różne kodowania. Standardowe kodowanie komponentu adresu URL wykorzystuje znaki ucieczki % dla wszystkiego poza niezarezerwowanym zestawem znaków: A-Z, a-z, 0-9, łącznik, podkreślenie, kropka, tylda. Wariant zakodowany w formularzu (application/x-www-form-urlencoded) dodatkowo traktuje spacje jako znaki plus i stosuje inne zasady dla niektórych innych znaków. JavaScript encodeURIComponent używa ścisłego kodowania komponentowego; encodeURI używa bardziej liberalnej formy, która zachowuje znaki struktury adresu URL.
To narzędzie oferuje zarówno kodowanie, jak i dekodowanie. Tryb kodowania zawija każdy znak wymagający zmiany znaczenia w formacie %HH; tryb dekodowania odwraca transformację. Obydwa działają w całości w przeglądarce, korzystając z wbudowanych funkcji URL JavaScript, więc żadne dane nie są nigdzie wysyłane.
Za każdym razem, gdy adres URL zawiera dane — parametry ciągu zapytania, segmenty ścieżki zawierające dane wprowadzone przez użytkownika, cele przekierowań — wymagane jest odpowiednie kodowanie. Niepowodzenie w kodowaniu powoduje, że adresy URL psują się, gdy pojawiają się znaki specjalne, wyciekają granice parametrów do ciągów zapytań (zamieniając &x=1 w oddzielny parametr) lub są blokowane przez serwery internetowe jako źle sformułowane żądania.
Dekodowanie jest odwrotnością: wyodrębnianie oryginalnych danych z zakodowanego adresu URL. Paski adresu przeglądarki często pokazują adresy URL w formie zakodowanej; dekodowanie ujawnia, co było rzeczywiście zamierzone. Rejestrowanie, debugowanie i analiza bezpieczeństwa korzystają z zdekodowanych adresów URL, które pokazują oryginalne parametry i ścieżki.
Wklej ciąg, wybierz kierunek.
encodeURIComponent koduje każdy znak spoza niezarezerwowanego zestawu [A-Za-z0-9-_.~]. Spacje stają się%20, znaki plus stają się%2B, znaki równości stają się%3D i tak dalej. Znaki spoza ASCII są najpierw kodowane w UTF-8, a następnie każdy bajt jest znakowany %.
encodeURI jest bardziej liberalny i jest przeznaczony dla pełnych adresów URL, a nie komponentów. Nie ucieka przed /, ?, &, =, # i kilkoma innymi, ponieważ te znaki mają znaczenie w składni adresu URL. Jeśli chodzi o osadzanie danych użytkownika w adresie URL, encodeURIComponent jest prawie zawsze właściwym wyborem.
decodeURIComponent odwraca %-ucieczki, sprawdzając, czy każda ucieczka jest poprawnie uformowana i czy powstałe bajty tworzą prawidłowy kod UTF-8. Zniekształcone dane wejściowe zamiast produkować śmieci, zgłaszają błąd.