Przejdź do głównej treści

Jak zdekodować ciąg zakodowany dla URL

Dekodowanie odwraca kodowanie procentowe: każda sekwencja %XX staje się bajtem, a bajty są odczytywane jako tekst UTF-8. Tryb Komponent używa decodeURIComponent(), więc wynik jest dokładnie pierwotną wartością.

Przykład krok po kroku

Wielobajtowe sekwencje UTF-8 stają się pojedynczym znakiem.

Dane wejściowe
caf%C3%A9%20%26%20cr%C3%A8me
Wynik · decodeURIComponent()
café & crème

%20 staje się spacją, ale + pozostaje zwykłym znakiem plus.

Dane wejściowe
a+b%20c
Wynik · decodeURIComponent()
a+b c

W ostatniej sekwencji brakuje cyfry szesnastkowej, więc narzędzie wyświetla błąd.

Dane wejściowe
%E0%A4%A
Wynik · decodeURIComponent()
Nieprawidłowy zakodowany URL

Po uzupełnieniu brakującej cyfry trzy bajty dają jedną literę dewanagari.

Dane wejściowe
%E0%A4%A4
Wynik · decodeURIComponent()
त

Jak działa narzędzie

  • Każda sekwencja %XX to jeden bajt, a kolejne bajty są dekodowane razem jako UTF-8, więc %C3%A9 zamienia się w é.
  • Znak plus nie jest traktowany jak spacja: + pozostaje +. Jeśli tekst pochodzi z formularza HTML, przed dekodowaniem zamień + na %20.
  • Jeśli którakolwiek sekwencja jest niepełna lub nie jest poprawnym UTF-8, całe dane wejściowe są odrzucane z błędem; nic nie jest dekodowane częściowo.
  • Tryb Pełny URL (decodeURI) pozostawia zakodowane sekwencje znaków zarezerwowanych, takie jak %26, %2F i %3F, aby nie zmieniać struktury adresu URL.

Poradniki kodowania URL