URL-Encoder / Decoder
URL-Komponenten gemäß RFC 3986 prozentual kodieren oder dekodieren.
Ihre Daten verlassen niemals Ihren Browser
Über URL-Kodierung
URL-Kodierung (Prozentkodierung) ersetzt unsichere Zeichen in URIs durch ein Prozentzeichen gefolgt von zwei Hexadezimalziffern, die den Bytewert darstellen. RFC 3986 definiert die Menge der nicht reservierten Zeichen (A-Z, a-z, 0-9, -, ., _, ~), die nie kodiert werden müssen. Alle anderen Zeichen, einschließlich Leerzeichen, kaufmännische Und-Zeichen und Nicht-ASCII-Text, müssen bei Verwendung in URI-Komponenten kodiert werden.
Nicht-ASCII-Zeichen wie Umlaute oder CJK-Ideogramme werden zuerst als UTF-8-Bytes kodiert, dann wird jedes Byte einzeln prozentkodiert. Zum Beispiel wird das É-Zeichen (U+00C9) zu %C3%89, da seine UTF-8-Darstellung die zwei Bytes 0xC3 und 0x89 umfasst. Deshalb kann ein einzelnes Zeichen mehrere prozentkodierte Tripel erzeugen.
Dieses Tool bietet zwei Modi: Komponentenmodus (zum Kodieren einzelner Query-Parameter oder Pfadsegmente) und Voll-URL-Modus (der die Strukturzeichen :, /, ?, # und & beibehält). Alle Verarbeitungen laufen clientseitig mit den eingebauten Funktionen encodeURIComponent und decodeURIComponent.
Häufig gestellte Fragen
Was ist URL-Kodierung (Prozentkodierung)?
URL-Kodierung, auch Prozentkodierung genannt, ersetzt Zeichen, die in einer URI nicht erlaubt sind oder eine besondere Bedeutung haben, durch ein Prozentzeichen (%) gefolgt von zwei Hexadezimalziffern, die den Bytewert des Zeichens darstellen. RFC 3986 definiert die nicht reservierten Zeichen (A-Z, a-z, 0-9, -, ., _, ~), die nie kodiert werden müssen. Alles andere, einschließlich Leerzeichen, kaufmännische Und-Zeichen und Nicht-ASCII-Text, muss bei Verwendung in URI-Komponenten kodiert werden.
Welche Zeichen müssen in URLs kodiert werden?
Jedes Zeichen außerhalb des nicht reservierten Satzes (Buchstaben, Ziffern, -, ., _, ~) muss prozentkodiert werden, wenn es in einer URI-Komponente wie einem Query-Parameter oder Pfadsegment erscheint. Häufige Beispiele sind Leerzeichen (%20), kaufmännisches Und (%26), Gleichheitszeichen (%3D), Plus (%2B) und Schrägstrich (%2F). Die reservierten Zeichen (:, /, ?, #, &, =) haben strukturelle Bedeutung in einer vollständigen URL und werden nur kodiert, wenn sie als literale Daten innerhalb einer Komponente verwendet werden.
Was ist der Unterschied zwischen Komponenten- und Voll-URL-Kodierung?
Komponentenkodierung (encodeURIComponent) behandelt die Eingabe als eine einzelne URI-Komponente und kodiert jedes Zeichen, das nicht unreserviert ist, einschließlich struktureller Trennzeichen wie /, ? und &. Voll-URL-Kodierung behält diese strukturellen Zeichen bei, sodass die URL navigierbar bleibt, während unsichere Zeichen innerhalb jedes Segments kodiert werden. Verwenden Sie den Komponentenmodus für einzelne Query-Werte oder Pfadsegmente und den Voll-URL-Modus zum Kodieren einer ganzen URL, die ihre Struktur beibehalten soll.
Wie werden Nicht-ASCII-Zeichen in URLs kodiert?
Nicht-ASCII-Zeichen werden zuerst in ihre UTF-8-Byte-Darstellung konvertiert, dann wird jedes Byte einzeln prozentkodiert. Zum Beispiel wird der Buchstabe é (U+00E9) zu %C3%A9 kodiert, da seine UTF-8-Form die zwei Bytes 0xC3 und 0xA9 umfasst. Ein einzelnes chinesisches, japanisches oder koreanisches Zeichen kann drei prozentkodierte Tripel erzeugen, da CJK-Zeichen typischerweise drei UTF-8-Bytes benötigen.
Warum erscheinen Leerzeichen manchmal als + und manchmal als %20?
Das Pluszeichen (+) als Leerzeichen-Kodierung stammt aus dem Format application/x-www-form-urlencoded, das bei HTML-Formularübertragungen verwendet wird. Dies ist eine ältere Konvention früher Webstandards. Die RFC-3986-Prozentkodierung verwendet immer %20 für Leerzeichen. In der Praxis ist + nur als Leerzeichen in Query-Strings von Formulardaten gültig. Die von diesem Tool verwendete Funktion encodeURIComponent erzeugt immer %20, was universell akzeptiert wird.