Jak to działa
Każdy znak spoza dozwolonego zestawu jest zapisywany jako znak procentu, po którym następują dwie cyfry szesnastkowe jego bajtu UTF-8. encodeURIComponent ucieka od wszystkiego z wyjątkiem A-Z a-z 0-9 - _ . ! ~ * ( ), podczas gdy encodeURI zachowuje nienaruszoną interpunkcję zarezerwowanego adresu URL.
- Użyj trybu komponentowego dla wartości zapytań; tryb pełnego adresu URL utrzymuje : / ? & = nienaruszone.
Dlaczego to ma znaczenie
Ciągi zapytań łamią się w subtelny sposób: wyszukiwane hasło zawierające & po cichu tworzy nowy parametr, ukośnik w nazwie pliku zmienia ścieżkę, a spacja kończy się w nieoczekiwanym miejscu. Prawidłowe kodowanie to różnica między działającym łączem a zgłoszeniem do pomocy technicznej.
Sprawdzony przykład
encodeURIComponent("a b&c") zwraca a%20b%26c, podczas gdy encodeURI zachowuje &, ponieważ traktuje ciąg znaków jako cały adres URL. Wybranie niewłaściwego powoduje zmianę miejsca podziału zapytania.
Typowe błędy
- Używanie kodowania pełnego adresu URL dla pojedynczej wartości zapytania.
- Oczekiwanie, że decodeURIComponent zamieni + w spację; to jest kodowanie formularza.
- Dwukrotne kodowanie i zastanawianie się, dlaczego serwer widzi%2520.
Praktyczne wskazówki
Zakoduj każdą wartość zapytania osobno, a następnie utwórz adres URL z zakodowanych fragmentów. Jeśli wartość wygląda już na zakodowaną, zdekoduj ją raz i ponownie zakoduj z zdekodowanej formy — wielokrotne kodowanie jest najczęstszym źródłem błędów w stylu% 25.
Jak z niego korzystać
- Otwórz narzędzie. Wszystko działa w zakładce przeglądarki.
- Wklej lub wpisz wprowadzone dane, a następnie wybierz żądaną czynność.
- Sprawdź wynik i skopiuj go jednym kliknięciem.
Często zadawane pytania
Kiedy używać komponentu, a kiedy pełnego adresu URL?
Komponent dla pojedynczej wartości zapytania, gdzie /? & = należy zastosować znak ucieczki. Pełny adres URL zachowuje te separatory nienaruszone.
Dlaczego spacje stają się% 20?
Kodowanie procentowe reprezentuje spację jako%20. Formularz + należy do kodowania formularzy HTML, a nie do adresów URL.
Dlaczego dekodowanie pozostawia + znaki?
decodeURIComponent nie traktuje znaku + jako spacji. Zamień + na początek spacją, jeśli wartość pochodzi z przesłanego formularza.
Czy to narzędzie jest naprawdę darmowe?
Tak. Nie ma konta, nie ma paywalla i nie ma limitu użytkowania. Aplikacja Tools została ufundowana przez stojące za nią studio aumenso.
Czy wszystko, co wprowadzę, zostanie przesłane?
Nie. Narzędzie działa w zakładce przeglądarki; to, co wpiszesz, nigdy nie jest do nas wysyłane ani przechowywane.