URL Kodierung
URL-Komponenten kodieren und dekodieren
Was ist URL / Prozentkodierung?
URLs können nur eine kleine Menge an ASCII-Zeichen enthalten. Alles andere — Leerzeichen, akzentuierte Buchstaben, Emojis, reservierte Zeichen wie `&`, `=`, `?` — muss als Prozentkodierung in der Form `%` gefolgt von zwei Hexadezimalziffern kodiert werden, die die UTF-8-Bytes darstellen. Ein Leerzeichen wird zu `%20`, `é` wird zu `%C3%A9`, das Fragezeichen wird zu `%3F`.
Verwenden Sie die 'Komponenten'-Kodierung, wenn Sie ein einzelnes Stück (einen Abfrageparameterwert, ein Pfadsegment) kodieren — entspricht dem `encodeURIComponent` von JavaScript. Verwenden Sie die 'vollständige URL'-Kodierung, wenn Sie eine gesamte URL kodieren, die bereits strukturelle Trennzeichen enthält, die Sie beibehalten möchten — entspricht `encodeURI`.
Anwendungsfälle
- Abfragezeichenfolgen erstellen — Benutzerinput vor dem Einfügen in `?q=`-Parameter prozentkodieren.
- Serverprotokolle überprüfen — beschädigte URLs dekodieren, um den ursprünglichen Pfad zu lesen (`/Users/%E4%B8%AD%E6%96%87/...`).
- OAuth-Redirects debuggen — eine `redirect_uri` einfügen, um genau zu sehen, was der OAuth-Callback dekodiert hat.
- Curl-Beispiele lesen — eine prozentkodierte URL aus einem Tutorial kopieren und dekodieren, um die Anfrage zu verstehen.
Beispiele
| Eingabe | Ergebnis |
|---|---|
| hello world & friends | hello%20world%20%26%20friends |
| café/menu?id=123 | caf%C3%A9%2Fmenu%3Fid%3D123 (component) or caf%C3%A9/menu?id=123 (full URL) |
Häufig gestellte Fragen
Was ist der Unterschied zwischen encodeURI und encodeURIComponent?
`encodeURI` lässt strukturelle URL-Zeichen (`:`, `/`, `?`, `#`, `&`, `=`) unberührt — für die Kodierung einer gesamten URL. `encodeURIComponent` kodiert auch diese — für die Kodierung eines einzelnen Stücks, das in eine URL geht.
Kann es nicht-ASCII-Zeichen verarbeiten?
Ja. Zeichen außerhalb von ASCII werden als ihre UTF-8-Bytes (1–4 Bytes) kodiert, die jeweils als `%XX` dargestellt werden.
Wird `+` beim Dekodieren als Leerzeichen interpretiert?
Nein. Dieses Tool verwendet die standardmäßige URL-Dekodierung, die `+` unverändert lässt. Die Regel `+`-bedeutet-Leerzeichen ist spezifisch für `application/x-www-form-urlencoded` Formulardaten, und dieses Tool hat keinen separaten Modus für die Form-Dekodierung.
Warum bricht meine URL nach der Kodierung?
Du hast strukturelle Zeichen (`:`, `/`, `?`, `#`) kodiert, die literarisch bleiben mussten. Dieses Tool führt immer die Komponenten-Kodierung (`encodeURIComponent`) durch, die sie maskiert — kodier also nur die einzelnen Abfragewerte oder Pfadsegmente, nicht die gesamte URL.
Wird etwas hochgeladen?
Nein — Kodierung und Dekodierung laufen vollständig in Ihrem Browser.
