URL Kodierung

URL-Komponenten kodieren und dekodieren

Eingabe
Ausgabe

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

EingabeErgebnis
hello world & friendshello%20world%20%26%20friends
café/menu?id=123caf%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.