Jak używać
- Wybierz Koduj albo Dekoduj.
- Wybierz tryb — Komponent dla jednej wartości parametru, Pełny URL, aby zachować strukturę adresu, albo Formularz, gdzie spacje zmieniają się w +.
- Wklej tekst. Wynik aktualizuje się podczas pisania.
- Jeśli wejściem jest URL, poniżej pojawią się protokół, host, ścieżka i parametry zapytania.
Opis opcji
- Komponent
- Koduje wszystko poza literami, cyframi i - _ . ~ — użyj dla wartości parametru zapytania albo segmentu ścieżki. Odpowiada encodeURIComponent, a dodatkowo koduje ! ' ( ) *, które RFC 3986 rezerwuje.
- Pełny URL
- Pozostawia znaki budujące strukturę URL (: / ? # & =) i koduje spacje oraz znaki spoza ASCII. Odpowiada JavaScript encodeURI.
- Formularz
- application/x-www-form-urlencoded używane przez formularze HTML. Spacje stają się + zamiast %20, a podczas dekodowania + wraca do spacji.
Przykłady
| Dane | Komponent | Pełny URL | Formularz |
|---|---|---|---|
a b&c |
a%20b%26c |
a%20b&c |
a+b%26c |
café |
caf%C3%A9 |
caf%C3%A9 |
caf%C3%A9 |
https://x.com/?q=1 2 |
https%3A%2F%2Fx.com%2F%3Fq%3D1%202 |
https://x.com/?q=1%202 |
https%3A%2F%2Fx.com%2F%3Fq%3D1+2 |
Budowanie URL-a z parametrami
Gdy wstawiasz dane użytkownika do ciągu zapytania, koduj każdą wartość osobno:
const url = `https://example.com/search?q=${encodeURIComponent(query)}&page=2`;
Zakodowanie całego URL-a na końcu pozostawi & i = wewnątrz wartości bez kodowania i zepsuje parametry.
Najczęściej zadawane pytania
Jaka jest różnica między %20 a +?
Oba zapisy mogą oznaczać spację, ale w innych miejscach. %20 działa wszędzie w URL-u, a + oznacza spację tylko w ciągu zapytania formularza. W ścieżce + jest zwykłym znakiem plus.
Dlaczego tekst jest podwójnie zakodowany (%2520)?
Został zakodowany dwa razy — znak % z %20 sam zakodował się jako %25. Odkoduj go dwukrotnie, a w kodzie dopilnuj, aby wartość była kodowana tylko raz.
Kiedy używać encodeURI, a kiedy encodeURIComponent?
Użyj encodeURIComponent (tryb Komponent) dla każdej wartości parametru wstawianej do URL-u. encodeURI (Pełny URL) stosuj tylko dla całego adresu, który może zawierać spacje lub znaki spoza ASCII.
Co oznacza niepoprawne kodowanie procentowe?
Znak % nie ma po sobie dwóch cyfr szesnastkowych albo bajty nie tworzą poprawnego UTF-8. Błąd pokazuje pozycję pierwszej złej sekwencji.
Jak chińskie znaki są kodowane w URL-ach?
Każdy znak jest zamieniany na bajty UTF-8, a każdy bajt zapisuje się jako %XX, więc 中 staje się %E4%B8%AD.
Prywatność
To narzędzie działa w całości w przeglądarce. Twoje pliki i tekst są przetwarzane na Twoim urządzeniu i nigdy nie trafiają na nasze serwery.