URLs und Query-Strings per Prozentkodierung kodieren oder dekodieren und eine URL in ihre Bestandteile und Query-Parameter zerlegen.
Bei der URL-Kodierung werden Zeichen, die in einer URL nicht erlaubt sind oder eine besondere Bedeutung haben, durch ein % gefolgt von ihren UTF-8-Bytes in Hex ersetzt – zum Beispiel wird ein Leerzeichen zu %20 und ç zu %C3%A7.
encodeURIComponent kodiert auch reservierte Zeichen wie / ? & = und #, daher ist es die richtige Wahl für einen einzelnen Query-Wert oder ein Pfadsegment. encodeURI lässt diese Zeichen unverändert und dient dazu, eine vollständige URL zu kodieren, ohne ihre Struktur zu zerstören.
%20 ist überall in einer URL gültig. Das +-Zeichen bedeutet nur in application/x-www-form-urlencoded-Daten ein Leerzeichen, etwa bei HTML-Formularen und den meisten Query-Strings – aktivieren Sie daher die Option +, wenn Sie mit Formulardaten arbeiten.
Das Dekodieren schlägt fehl, wenn auf ein % keine zwei Hexadezimalziffern folgen oder die Bytes kein gültiges UTF-8 ergeben (zum Beispiel %E7 allein, ein Latin-1-kodiertes ç). Korrigieren Sie das einzelne % oder kodieren Sie es als %25 und versuchen Sie es erneut.