Przejdź do treści

%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.

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ę.

Kodowanie pojedynczego znaku
ZnakencodeURIComponentencodeURIFormularz (+ 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
Dekodowanie pojedynczej sekwencji
SekwencjadecodeURIComponentdecodeURIFormularz
%2F/%2F/
%3F?%3F?
%23#%23#
%20␣␣␣
%2B+%2B+
%41AAA

Jak zakodować lub zdekodować URL

1

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.

2

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.

3

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.