Darmowy URL Encoder i Dekoder | OneStepToRank

URL Encoder & Dekoder

Koduj znaki specjalne, aby bezpiecznie używać ich w URL-ach i ciągach zapytań, lub dekoduj ciągi percent-encoded z powrotem do czytelnego tekstu. Działa w pełni w Twojej przeglądarce.

Koduj / Dekoduj URL-e

Common URL-Encoded Characters

CharacterEncodedDescription
(space)%20Space character
!%21Exclamation mark
#%23Hash / fragment
$%24Dollar sign
&%26Ampersand
'%27Apostrophe
+%2BPlus sign
/%2FForward slash
=%3DEquals sign
?%3FQuestion mark
@%40At sign

Dominuj Lokalne wyszukiwanie

Narzędzia dla programistów to dopiero początek. OneStepToRank monitoruje Twoje pozycje w Google 24/7 w całym obszarze usług i automatycznie dostosowuje Twoją strategię, abyś zawsze był na szczycie.

Rozpocznij za darmo

Czym jest kodowanie URL?

URL encoding, formalnie znane jako percent-encoding, to proces konwertowania znaków niedozwolonych lub mających specjalne znaczenie w URL na bezpieczną reprezentację przy użyciu znaku procenta i dwóch cyfr szesnastkowych. Mechanizm ten jest zdefiniowany w RFC 3986 (Uniform Resource Identifier) i zapewnia prawidłowe przesyłanie URL-i w internecie. Na przykład znak spacji jest kodowany jako %20, ampersand jako %26, a znak zapytania jako %3F. Bez kodowania URL przeglądarki i serwery mogłyby błędnie interpretować te znaki jako elementy strukturalne URL, a nie jako dosłowne dane.

RFC 3986 i znaki zastrzeżone

RFC 3986 definiuje dwie kategorie znaków w URL-ach. Unreserved characters — litery (A-Z, a-z), cyfry (0-9), myślnik, podkreślenie, kropka i tylda — mogą występować w URL bez kodowania. Reserved characters takie jak : / ? # [ ] @ ! $ & ' ( ) * + , ; = mają specjalne znaczenie strukturalne w składni URI. Gdy te znaki zastrzeżone muszą pojawić się jako dosłowne dane w komponencie URL (np. wartość parametru zapytania), muszą być percent-encoded. Proces kodowania zamienia każdy bajt reprezentacji UTF-8 znaku na format %HH, gdzie HH jest wartością szesnastkową bajtu. Znaki UTF-8 wielobajtowe, takie jak litery z akcentami czy emoji, generują wiele trójek percent-encoded.

Kodowanie URL w tworzeniu stron internetowych

Każdy główny język programowania udostępnia wbudowane funkcje do kodowania URL. W JavaScript encodeURIComponent() koduje ciąg do użycia jako komponent URI, natomiast encodeURI() koduje pełny URI, zachowując znaki strukturalne. Python oferuje urllib.parse.quote() i urllib.parse.urlencode(). PHP posiada urlencode() i rawurlencode(). Zrozumienie, kiedy i jak stosować kodowanie URL, jest kluczowe przy budowaniu bezpiecznych aplikacji webowych — nieprawidłowe kodowanie jest częstym źródłem błędów i może prowadzić do podatności na wstrzyknięcia, gdy dane użytkownika są umieszczane bezpośrednio w URL bez sanitizacji.

Najczęściej zadawane pytania

Czym jest kodowanie URL?
Kodowanie URL (percent-encoding) zamienia znaki niedozwolone w URL na bezpieczny format przy użyciu znaku procenta (%) i dwóch cyfr szesnastkowych. Na przykład spacja staje się %20, a ampersand %26. Jest to zdefiniowane w RFC 3986 i zapewnia prawidłowe przesyłanie URL w internecie.
Kiedy powinienem zakodować ciąg URL?
Koduj każdy ciąg, który będzie używany jako wartość parametru zapytania w URL, szczególnie jeśli zawiera spacje, ampersandy, znaki równości, znaki zapytania lub znaki spoza ASCII. Typowe sytuacje to budowanie URL-i żądań API, tworzenie URL-i przekierowań, przekazywanie danych formularza w żądaniach GET oraz osadzanie URL-i w innych URL-ach.
Jaka jest różnica między encodeURI a encodeURIComponent?
encodeURI() zachowuje znaki, które mają specjalne znaczenie w URL, takie jak dwukropki, ukośniki, znaki zapytania i ampersandy. encodeURIComponent() koduje wszystko oprócz liter, cyfr, myślników, podkreśleń, kropek i tyld. Używaj encodeURIComponent() dla wartości parametrów zapytania. Używaj encodeURI() tylko przy kodowaniu pełnego URL, zachowując jego strukturę. To narzędzie używa encodeURIComponent().
Jakie znaki są bezpieczne w URL bez kodowania?
Zgodnie z RFC 3986, znaki niezastrzeżone, które nigdy nie wymagają kodowania, to: A-Z, a-z, 0-9, myślnik (-), podkreślenie (_), kropka (.) i tylda (~). Wszystkie inne znaki — w tym spacje, ampersandy, znaki równości, ukośniki oraz wszelkie znaki spoza ASCII — powinny być percent-encoded, gdy są używane w komponentach URL, takich jak wartości parametrów zapytania.