Przykład 1
- hello world
- encode
hello%20world
Co z hello world w encode? hello%20world. encodeURIComponent, nie form +.
Wpisz tekst i tryb. hello world daje hello%20world. a b+c daje a%20b%2Bc. %20%2B w decode daje spację i plus. encodeURIComponent, nie plus z formularza.
To encodeURIComponent / decodeURIComponent. Spacja to %20, nie +. Code point jest na kodzie znaku ASCII/Unicode.
Wprowadź dane i kliknij Oblicz.
URL encode / decode na tej karcie koduje wpisany tekst. hello world daje hello%20world. a b+c daje a%20b%2Bc. %20%2B w decode daje spację i plus. Extras trzymają te zakodowane ciągi. To encodeURIComponent, nie application/x-www-form-urlencoded.
Pole url-str jest tekstem. Tryb url-mode w dwóch pierwszych extras to encode, w trzecim decode. Spacja staje się %20. Plus staje się %2B. Decode z %20%2B wraca do spacji i plusa.
hello%20world nie jest query z PHP. a%20b%2Bc nie zna plusa jako spacji. Wpisujesz ciąg sam. Karta nie woła serwera.
Kod znaku ASCII/Unicode obok czyta A jako 65. Rozmiar Base64 szacuje długość. Tu hello world zostaje hello%20world.
Wpisz hello world i encode, potem Oblicz. Wynik to hello%20world. Puste pole nic nie koduje. To nie form +.
hello world daje hello%20world. a b+c daje a%20b%2Bc. %20%2B w decode daje spację i plus. Inny tekst zmienia hello%20world.
encode = encodeURIComponent(tekst); decode = decodeURIComponent(tekst). Spacja to %20, nie +.
encodeURIComponent. hello world daje hello%20world. To nie form +.
hello%20world
Co z hello world w encode? hello%20world. encodeURIComponent, nie form +.
a%20b%2Bc
Co z a b+c? a%20b%2Bc.
+
Co z %20%2B w decode? spacja i plus.
hello%20world. encodeURIComponent. Spacja to %20, nie +.
a%20b%2Bc. Plus też idzie w %2B.
Spacja i plus. Decode z percent-encoding.
Nie. To nie application/x-www-form-urlencoded. Spacja to %20.
Nie. encodeURIComponent w przeglądarce. Nie ma requestu.
Tak jako tekst. Karta nie zgaduje, czy wkleiłeś już %25.
Nie. Bez tekstu nie ma hello%20world.
Na kodzie znaku ASCII/Unicode, wynik 65. Tu zostaje hello%20world.
Nie. + zostaje plusem. Spacja wchodzi jako %20.
URL może bezpiecznie przenosić ograniczony zestaw znaków ASCII. Wszystko inne — spacje, polskie znaki, symbole zarezerwowane — zapisuje się jako percent-encoding: % + dwie cyfry hex (bajt UTF-8 lub inny, zależnie od kontekstu). Przykład: spacja → %20, ą w UTF-8 → %C4%85.
Ten kalkulator używa semantyki zbliżonej do encodeURIComponent / decodeURIComponent w JavaScript: koduje znaki niebezpieczne w komponencie URI (wartość parametru, fragment ścieżki), a dekoduje sekwencje %HH z powrotem na tekst.
:/?#[]@!$&'()*+,;= — w wartości parametru często muszą być zakodowane, inaczej zmienią strukturę URL.- _ . ! ~ * ' ( ) — szczegóły zależą od API; nie zakładaj identyczności z encodeURI.%20 — uniwersalne percent-encoding spacji (path, query, większość API).+ — w application/x-www-form-urlencoded (klasyczne formularze HTML) spacja bywa reprezentowana jako plus w query string.encodeURIComponent('a b') → a%20b (nie plus). Dekodowanie samego + jako spacji to osobna reguła formularzy, nie czystego URI component.Jeśli API oczekuje form-urlencoded, sprawdź dokumentację — mylenie %20 z + to częsty bug integracji.
%HH z logów, callbacków OAuth, copy-paste → czytelny tekst.% (np. %ZZ, ucięte %C4) powoduje błąd dekodowania — kalkulator to zgłosi.?q=...) — wartości parametrów koduj per-komponent (encodeURIComponent), a pary łącz & / = już po zakodowaniu wartości.encodeURI (cały URL) zachowuje więcej znaków zarezerwowanych niż encodeURIComponent.#...) — analogicznie: nie koduj # otwierającego fragmentu; treść fragmentu według potrzeb aplikacji.Zła praktyka: zakodować cały URL łącznie z https:// przez encodeURIComponent — dostaniesz bezużyteczny ciąg do paska adresu (chyba że celowo przekazujesz URL jako wartość parametru).
a b → a%20b → ponownie → a%2520b. Objaw: w logach widać %25.& — niszczy strukturę parametrów.%.%20.hello world → hello%20worlda&b=c (jako wartość) → a%26b%3Dcżółć → %C5%BC%C3%B3%C5%82%C4%87 (UTF-8)100% sure → 100%25%20sure (% też musi być zakodowany)a%2520b raz → a%20b; drugi raz → a b (świadome odwracanie double-encode)Wklej własny ciąg w formularz — wynik możesz skopiować do requestu HTTP lub dokumentacji API.
Najczęstsze znaki i stringi — semantyka zbliżona do encodeURIComponent w tym kalkulatorze.
| Wejście | Po encode | Uwaga |
|---|---|---|
| spacja | %20 | nie plus (+) jak w form-urlencoded |
@ | %40 | częste w e-mailach w query |
/ | %2F | w wartości parametru, nie jako separator ścieżki |
? | %3F | inaczej zacznie nowy query |
hello world | hello%20world | prosty test |
email@example.com | email%40example.com | cały adres jako wartość |
https://api.example.com/v1/search).encodeURIComponent).?k= + encoded + & + kolejne pary — nie koduj gotowego query drugi raz.%2520, zdekoduj raz i sprawdź, która warstwa koduje nadmiarowo (frontend, gateway, SDK).&, %, emoji, pusty string, już zakodowany input.Przykład pełnego query: szukana fraza buty & torby → wartość buty%20%26%20torby → URL .../search?q=buty%20%26%20torby.
Szybkie odpowiedzi przy budowie query stringów i debugowaniu %2520.
encodeURI chroni cały URL i nie koduje m.in. :/?#. encodeURIComponent koduje agresywniej — do wartości parametrów. Ten kalkulator celuje w semantykę component.%20. Plus jest typowy dla form-urlencoded. Nie mieszaj reguł.%25 (zakodowany znak %). np. %2520 to spacja zakodowana dwa razy.%HH.%, niehexowe cyfry, lub tekst, który nie był percent-encoded.