%20 · %C3%A9 · encodeURIComponent
Kodowanie i dekodowanie URL
Kodowanie URL zastępuje niebezpieczne znaki znakiem % i dwiema cyframi szesnastkowymi: spacja staje się %20, a é staje się %C3%A9. Wybierz kodowanie, dekodowanie lub analizę, a potem wpisz lub wklej tekst.
- a b&c=d → a%20b%26c%3Dd
- é → %C3%A9
- € → %E2%82%AC
- 😀 → %F0%9F%98%80
Wszystko działa w tej karcie i nic nie jest przesyłane. Tekst spoza ASCII jest przed zakodowaniem zamieniany na UTF-8.
Scanned by NortonTM Safe Web
W skrócie
- Cena
- Bez opłat
- Konto
- Niepotrzebne
- Standardy
- RFC 3986 (URI), WHATWG URL Standard
- Tryby
- Kodowanie, dekodowanie i analiza
- Zestaw znaków
- UTF-8
- Wysyłanie plików
- Brak — tekst zostaje w karcie przeglądarki
Percent-encoding popularnych znaków
Każda komórka jest wytworzona przez koder i dekoder na tej stronie. Symbol ␣ oznacza spację.
| Znak | encodeURIComponent | encodeURI | Formularz (+ dla spacji) |
|---|---|---|---|
| ␣ | %20 | %20 | + |
| ! | ! | ! | %21 |
| " | %22 | %22 | %22 |
| # | %23 | # | %23 |
| $ | %24 | $ | %24 |
| % | %25 | %25 | %25 |
| & | %26 | & | %26 |
| ' | ' | ' | %27 |
| ( | ( | ( | %28 |
| ) | ) | ) | %29 |
| * | * | * | * |
| + | %2B | + | %2B |
| , | %2C | , | %2C |
| / | %2F | / | %2F |
| : | %3A | : | %3A |
| ; | %3B | ; | %3B |
| = | %3D | = | %3D |
| ? | %3F | ? | %3F |
| @ | %40 | @ | %40 |
| [ | %5B | %5B | %5B |
| ] | %5D | %5D | %5D |
| ~ | ~ | ~ | %7E |
| é | %C3%A9 | %C3%A9 | %C3%A9 |
| € | %E2%82%AC | %E2%82%AC | %E2%82%AC |
| 😀 | %F0%9F%98%80 | %F0%9F%98%80 | %F0%9F%98%80 |
| Sekwencja | decodeURIComponent | decodeURI | Formularz |
|---|---|---|---|
| %2F | / | %2F | / |
| %3F | ? | %3F | ? |
| %23 | # | %23 | # |
| %20 | ␣ | ␣ | ␣ |
| %2B | + | %2B | + |
| %41 | A | A | A |
Jak zakodować lub zdekodować URL
Wybierz tryb
Wybierz Koduj, aby zakodować tekst, Dekoduj, aby odczytać zakodowany tekst, albo Analizuj, aby podzielić cały URL na protokół, host, ścieżkę, zapytanie i fragment.
Wybierz metodę
Dla pojedynczej wartości, takiej jak parametr zapytania, użyj metody komponentu. Dla całego adresu użyj metody całego URL. Dla danych wysyłanych przez formularz HTML użyj metody formularza.
Wklej i skopiuj
Wpisz lub wklej tekst. Wynik aktualizuje się w trakcie pisania i ma przycisk kopiowania. Błędna sekwencja % jest zgłaszana wraz z pozycją.
Jak działa percent-encoding
Percent-encoding (RFC 3986) zapisuje bajt jako % z dwiema cyframi szesnastkowymi. Tekst jest najpierw zamieniany na UTF-8, więc é to 2 bajty (%C3%A9), € to 3 bajty (%E2%82%AC), a 😀 to 4 bajty (%F0%9F%98%80). Litery, cyfry i - _ . ~ nigdy nie wymagają kodowania. Znaki zarezerwowane, takie jak / ? # & = + i :, pełnią w URL określoną rolę, więc to, czy je kodować, zależy od tego, dokąd trafia tekst.
encodeURIComponent służy do jednego fragmentu URL, na przykład wartości zapytania: koduje / ? # & = + i :. encodeURI służy do całego URL: zostawia te znaki bez zmian, aby adres zachował strukturę. Kodowanie formularza (application/x-www-form-urlencoded) zapisuje spację jako + zamiast %20 i koduje też ~ oraz ! ' ( ). Dekodowanie odrzuca %, po którym nie następują dwie cyfry szesnastkowe, i zgłasza jego pozycję.
Pytania o kodowanie URL
Czym różni się encodeURI od encodeURIComponent?
encodeURIComponent koduje wszystko oprócz liter, cyfr i - _ . ! ~ * ' ( ), więc koduje też / ? # & = + i :. encodeURI zachowuje te znaki, aby cały URL nadal działał. Metody komponentu używaj dla wartości, na przykład a/b zamieniane na a%2Fb, a encodeURI dla pełnego adresu.
Dlaczego spacja to w jednym miejscu %20, a w innym +?
%20 to percent-encoding spacji i jest poprawne w każdym miejscu URL. + jako spacja należy wyłącznie do kodowania formularza (application/x-www-form-urlencoded), czyli formatu zapytania wysyłanego przez formularz HTML. Prawdziwy znak plus to w obu przypadkach %2B.
Jak zakodować znaki Unicode w URL?
Zamień tekst na UTF-8, a potem zapisz każdy bajt jako %XX. é daje %C3%A9, € daje %E2%82%AC, a 😀 daje %F0%9F%98%80. Ta strona robi to w każdej metodzie kodowania.
Które znaki trzeba kodować w URL?
Spacje, cudzysłowy podwójne, < i > oraz wszystkie znaki spoza ASCII są kodowane zawsze. Litery, cyfry i - _ . ~ nigdy. Znaki zarezerwowane, takie jak ? i &, są kodowane tylko wtedy, gdy są danymi, a nie częścią struktury URL.
Dlaczego dekodowanie zgłasza niepoprawną sekwencję procentową?
Po % muszą następować dwie cyfry szesnastkowe. 100% się nie powiedzie, bo nic nie następuje po %, podobnie jak ab%zz. Strona zgłasza pozycję błędnego %. Zgłaszane są też zakodowane bajty, które nie tworzą poprawnego UTF-8, takie jak %FF.
Czy ta strona może podzielić URL na części?
Tak. Tryb Analizuj używa parsera URL przeglądarki, aby wypisać protokół, nazwę użytkownika, host, port, ścieżkę, zapytanie i fragment, oraz pokazuje każdy parametr zapytania z jego zdekodowaną wartością. Hasło w URL jest zgłaszane jako obecne i nigdy nie jest wyświetlane.