Zakoduj zapytanie wyszukiwania
hello world & more
hello%20world%20%26%20more
Spacje zamieniają się w %20, a & w %26, żeby nie został pomylony z separatorem parametrów zapytania.
Bezpiecznie koduj i dekoduj fragmenty adresów URL.
Ostatnia aktualizacja
Coddy uczy cię przez pisanie prawdziwego kodu w przeglądarce: interaktywne lekcje, natychmiastowa informacja zwrotna i pomoc AI, gdy utkniesz.
URL encoder (nazywany też koderem procentowym lub koderem URI) zastępuje znaki zarezerwowane lub niebezpieczne w adresach URL znakiem % i dwiema cyframi szesnastkowymi. Programiści używają go przy budowaniu query stringów, escapowaniu segmentów ścieżki, udostępnianiu adresów ze spacjami lub znakami spoza ASCII i debugowaniu przekierowań.
Adresy URL mogą zawierać tylko niewielki zestaw znaków ASCII. Wszystko spoza tego zestawu (spacje, polskie znaki, emoji albo symbole zarezerwowane, takie jak ?, #, &, =, gdy występują jako dane) trzeba zakodować procentowo, żeby przetrwało drogę z przeglądarki do serwera.
JavaScript udostępnia dwie funkcje kodujące: encodeURI (zachowuje strukturę adresu: /, ?, #, &) oraz encodeURIComponent (koduje wszystkie znaki zarezerwowane). Używaj encodeURIComponent do *wartości* wstawianych do query stringów, a encodeURI do *całych adresów URL*, które mają dalej działać.
% i dwiema cyframi szesnastkowymi, na przykład spacja zamienia się w %20.: / ? # & = +) mają znaczenie w strukturze adresu. Trzeba je kodować, gdy są danymi, a nie separatorami.encodeURI zachowuje strukturę adresu, a encodeURIComponent koduje wszystkie znaki zarezerwowane: dobierz właściwą funkcję do właściwego miejsca.Wybierz Koduj, jeśli masz surowy tekst i chcesz, żeby był bezpieczny w URL. Wybierz Dekoduj, jeśli masz ciąg zakodowany znakami % i chcesz odzyskać oryginalny tekst.
Wybierz encodeURIComponent (koduje wszystkie znaki zarezerwowane) dla wartości w query stringu albo encodeURI (zachowuje strukturę) dla całych adresów URL.
Wklej surowy tekst albo zakodowany adres URL. Dane w wielu liniach działają przy dekodowaniu wsadowym.
Skopiuj zakodowaną lub zdekodowaną wartość. Konwersja działa lokalnie w przeglądarce, więc poufne dane w adresach zostają na twoim komputerze.
Znaki, które najczęściej zobaczysz w zakodowanej postaci, wraz z ich formą procentową. Znaczenie znaków zarezerwowanych opisuje RFC 3986.
| Znak | Zakodowany | Dlaczego |
|---|---|---|
| spacja | %20 | Spacje nie są dozwolone w adresach URL |
! | %21 | Zarezerwowany przez niektóre serwery |
# | %23 | Oznacza początek fragmentu |
$ | %24 | Znak zarezerwowany |
& | %26 | Oddziela parametry zapytania |
+ | %2B | Oznacza spację w treści form-encoded |
/ | %2F | Separator ścieżki |
: | %3A | Oddziela schemat od hosta |
= | %3D | Oddziela klucz od wartości w query stringu |
? | %3F | Oznacza początek query stringu |
@ | %40 | Oddziela dane użytkownika od hosta |
| bajt UTF-8 | %C3%A9 | Każdy bajt spoza ASCII jest kodowany |
hello world & more
hello%20world%20%26%20more
Spacje zamieniają się w %20, a & w %26, żeby nie został pomylony z separatorem parametrów zapytania.
café
caf%C3%A9
é to w UTF-8 sekwencja bajtów 0xC3 0xA9, więc forma zakodowana ma *dwie* grupy %XX dla tego jednego znaku.
https://example.com/path?q=hello world
https://example.com/path?q=hello%20world
https%3A%2F%2Fexample.com%2Fpath%3Fq%3Dhello%20world
encodeURI zachowuje strukturę adresu (ukośniki, ?, =). encodeURIComponent koduje wszystkie znaki zarezerwowane: używaj go dla wartości wstawianych do query stringu, nigdy dla całego adresu URL.
encodeURI dla wartości w query stringu: & i = przechodzą przez kodowanie bez zmian i psują odczyt parametrów.%2520 zamiast %20 to klasyczny objaw błędu podwójnego kodowania.+ oznacza spację w treści application/x-www-form-urlencoded, ale w ścieżce lub zapytaniu URL jest dosłownym znakiem +.decodeURIComponent przyjmie dowolny ciąg: rzuca błąd przy samotnym %, po którym nie ma dwóch cyfr szesnastkowych.% i dwiema cyframi szesnastkowymi.encodeURI zachowuje znaki struktury adresu (/, ?, #, &, =, +). encodeURIComponent koduje je wszystkie, i właśnie tego potrzebujesz dla pojedynczych *wartości* umieszczanych w adresie URL: wartości parametrów zapytania, segmentów ścieżki, fragmentów. Zobacz dokumentację MDN dla encodeURI i encodeURIComponent.%20?%20, czyli procentowym zapisem znaku spacji ASCII (0x20 szesnastkowo).decodeURI, decodeURIComponent albo dowolny URL decoder zamienia kodowanie procentowe z powrotem na oryginalne znaki.