Eine URL-kodierte Zeichenkette dekodieren
Beim Dekodieren wird die Prozentkodierung umgekehrt: Jede %XX-Folge wird zu einem Byte, und die Bytes werden als UTF-8-Text gelesen. Der Modus „Komponente“ nutzt decodeURIComponent(), daher entsteht exakt der ursprüngliche Wert.
Durchgerechnetes Beispiel
Mehrbyte-UTF-8-Folgen werden zu einzelnen Zeichen.
- Eingabe
- caf%C3%A9%20%26%20cr%C3%A8me
- Ergebnis ·
decodeURIComponent() - café & crème
%20 wird zum Leerzeichen, + bleibt dagegen ein echtes Pluszeichen.
- Eingabe
- a+b%20c
- Ergebnis ·
decodeURIComponent() - a+b c
Der letzten Folge fehlt eine Hexadezimalziffer, daher zeigt das Tool einen Fehler an.
- Eingabe
- %E0%A4%A
- Ergebnis ·
decodeURIComponent() - Ungültig codierte URL
Mit der ergänzten Ziffer ergeben die drei Bytes einen einzelnen Devanagari-Buchstaben.
- Eingabe
- %E0%A4%A4
- Ergebnis ·
decodeURIComponent() - त
So geht das Tool vor
- Jede %XX-Folge ist ein Byte; aufeinanderfolgende Bytes werden gemeinsam als UTF-8 dekodiert, sodass aus %C3%A9 ein é wird.
- Ein Pluszeichen wird nicht als Leerzeichen behandelt: + bleibt +. Stammt der Text aus einem HTML-Formular, ersetzen Sie + vor dem Dekodieren durch %20.
- Ist eine Folge unvollständig oder kein gültiges UTF-8, wird die gesamte Eingabe mit einem Fehler abgelehnt; nichts wird nur teilweise dekodiert.
- Der Modus „Vollständige URL“ (decodeURI) lässt Escapes reservierter Zeichen wie %26, %2F und %3F kodiert, damit sich die Struktur der URL nicht ändert.