Kodowanie
URL Encode/Decode
Kodowanie i dekodowanie URL — znaki wymagające zakodowania w linkach i parametrach zapytania.
URL encoding (percent-encoding) replaces characters that aren't allowed in a URL — spaces, non-Latin letters, special characters — with %XX sequences, where XX is the hex code of the byte. This keeps links and query parameters from getting mangled in transit.
How to use it
- Encode: paste text or a URL and any character outside the safe ASCII set is replaced with a %XX sequence.
- Decode: paste an encoded string to see the original text.
- Encoding a full URL and encoding a single query parameter use slightly different safe-character sets — pick the mode that matches what you're encoding.
Common uses
- Building query parameters from text containing spaces, ampersands, or non-Latin characters.
- Debugging why a link with a parameter breaks — often the cause is an unencoded special character.
- Decoding URLs from third-party systems to read them in their original form.
Things to keep in mind
Encode parameter values, not the whole URL at once — otherwise you'll also encode the separators you need (:, /, ?, &).
JavaScript's encodeURIComponent and encodeURI encode different character sets — the former is meant specifically for parameter values.
Artykuł o tym narzędziu: URL Encode/Decode: percent-encoding w linkach
Najczęstsze pytania
Czym jest kodowanie URL (percent-encoding)?
To zamiana znaków specjalnych i spoza ASCII na sekwencje w postaci %XX, gdzie XX to wartość heksadecymalna bajtu. Dzięki temu tekst może bezpiecznie trafić do adresu URL lub parametru zapytania bez rozbijania jego struktury.
Czym różni się kodowanie URL od Base64 URL-safe?
To dwie różne rzeczy, które łatwo pomylić. Kodowanie URL zamienia pojedyncze znaki na sekwencje %XX i działa na dowolnym tekście, natomiast Base64 URL-safe to wariant Base64 z zamienionymi znakami + i / na - i _, używany do kodowania danych binarnych, a nie do escapowania URL-i.
Czym różnią się tryby Komponent i URI?
Tryb Komponent koduje wszystkie znaki specjalne, w tym &, = i ?, więc nadaje się do wartości pojedynczego parametru. Tryb URI zostawia znaki strukturalne adresu (jak ://, ? czy &) nietknięte, bo koduje cały adres URL, a nie jego fragment.
Czym jest podwójne kodowanie i jak je rozpoznać?
To błąd polegający na ponownym zakodowaniu już zakodowanego ciągu — znak % sam zamienia się na %25, więc %20 staje się %2520. Oznaką problemu są sekwencje w rodzaju %25XX w zdekodowanym wyniku.
Dlaczego spacja czasem jest kodowana jako +, a czasem jako %20?
+ dla spacji to format application/x-www-form-urlencoded, używany przez formularze i ciągi zapytania. %20 to standardowy percent-encoding z RFC 3986, poprawny w każdej części URL.