URL Encoder & Decoder
Kodiere Text per Prozentkodierung für URLs und Query-Strings, dekodiere kodierte URLs und zerlege jede URL in ihre Bestandteile mit dekodierten Query-Parametern.
Läuft im BrowserOhne AnmeldungKein Upload
Bestandteile
Query-Parameter
Anleitung: URL kodieren / dekodieren
- Wähle Kodieren oder Dekodieren.
- Wähle beim Kodieren Komponente für einen einzelnen Query-Wert oder ein Pfadsegment, Vollständige URL, um die URL-Struktur zu erhalten, oder Formulardaten für
application/x-www-form-urlencoded. - Füge deinen Text ein. Das Ergebnis erscheint sofort; fehlerhafte Escapes werden mit ihrer Position gemeldet.
- Füge eine vollständige URL in den URL-Parser ein, um Host, Pfad, Fragment und alle Query-Parameter dekodiert zu sehen.
Was ist URL-Kodierung?
URLs dürfen nur einen begrenzten Satz von ASCII-Zeichen enthalten (RFC 3986). Alles andere, darunter Leerzeichen, Umlaute und andere nicht-englische Buchstaben sowie Zeichen mit Sonderbedeutung wie &, ? und #, wird für jedes UTF-8-Byte als Prozentzeichen mit zwei Hex-Ziffern geschrieben. Ein Leerzeichen wird zu %20 und é zu %C3%A9.
encodeURIComponent vs. encodeURI
| Funktion | Lässt unverändert | Verwenden für |
|---|---|---|
encodeURIComponent | A-Z a-z 0-9 - _ . ~ | Einen einzelnen Query-Wert, ein Pfadsegment oder einen Parameternamen |
encodeURI | Zusätzlich : / ? # [ ] @ ! $ & ' ( ) * + , ; = | Eine ganze URL, deren Struktur erhalten bleiben muss |
encodeURI auf einen Query-Wert anzuwenden, ist ein klassischer Bug: Ein & im Wert wird nicht escaped und teilt den Parameter in zwei. Der Komponenten-Modus dieses Tools escaped zusätzlich ! ' ( ) * für strikte Konformität mit RFC 3986.
%20 oder + für Leerzeichen?
In Pfaden muss ein Leerzeichen %20 sein. In HTML-Formularübermittlungen (application/x-www-form-urlencoded) und vielen Query-Strings wird ein Leerzeichen als + geschrieben. Aktiviere beim Dekodieren von Formulardaten + als Leerzeichen behandeln und deaktiviere es, wenn ein wörtliches Pluszeichen wichtig ist, etwa in jane+test@example.com.
Häufig gestellte Fragen
Warum erhalte ich beim Dekodieren „Malformed escape“?
% müssen genau zwei Hex-Ziffern folgen. Ein wörtliches Prozentzeichen wie in „50 % Rabatt“ hätte als %25 kodiert werden müssen. Die Fehlermeldung zeigt die Position der fehlerhaften Sequenz.Was bedeutet „Invalid UTF-8 byte sequence“?
%E9 für é statt %C3%A9) oder der String mitten in einem Zeichen abgeschnitten wurde.Sollte ich die ganze URL kodieren oder nur die Parameter?
= und &. Würdest du eine vollständige URL im Komponenten-Modus kodieren, würde auch :// escaped und die URL kaputtgehen.Ist doppelte Kodierung ein Problem?
%20 ein %2520. Siehst du %25 gefolgt von Hex-Ziffern, wurde der Wert wahrscheinlich doppelt kodiert. Dekodiere ihn zweimal, um das Original zu erhalten.