Wie Sie URLs kodieren und dekodieren
Wenn Sie schon einmal %20 in einer URL gesehen haben, wo eigentlich ein Leerzeichen sein sollte, oder %C3%A9 dort, wo ein Zeichen mit Akzent stehen müsste, sind Sie der URL-Kodierung begegnet. Sie ist ein grundlegender Baustein des Webs, und ihr Verständnis hilft beim Debuggen kaputter Links, API-Probleme und Formularübermittlungen.
Was URL-Kodierung tut
URLs dürfen nur einen begrenzten Satz an Zeichen sicher enthalten: Buchstaben (A-Z, a-z), Ziffern (0-9) und einige Sonderzeichen (-, _, ., ~). Alles andere — Leerzeichen, Buchstaben mit Akzent, Emoji und Symbole wie &, =, #, ? — muss in ein sicheres Format umgewandelt werden.
URL-Kodierung (auch Prozent-Kodierung genannt) ersetzt unsichere Zeichen durch ein %, gefolgt von ihrem Hexadezimalwert in Bytes:
| Zeichen | Kodiert |
|---|---|
| Leerzeichen | %20 |
| & | %26 |
| = | %3D |
| # | %23 |
| ? | %3F |
| / | %2F |
| @ | %40 |
Wann URL-Kodierung nötig ist
- Query-Parameter mit Sonderzeichen — eine Suchanfrage wie
preis > 100 & kategorie = schuhebraucht Kodierung, um in einer URL zu funktionieren - Nicht-lateinische Zeichen in URLs — Namen, Städte oder Inhalte in anderen Sprachen müssen kodiert werden
- API-Anfragen — beim manuellen Erstellen von API-Aufrufen müssen Parameterwerte oft kodiert werden
- Debugging — wenn eine URL nicht funktioniert, zeigt das Decodieren die tatsächlichen Werte
So kodieren und decodieren Sie
- Kodieren oder Decodieren wählen — wählen Sie die Richtung. Verwenden Sie encodeURIComponent für Query-Parameter oder encodeURI für vollständige URLs.
- Eingabe einfügen — geben Sie den Text oder die URL ein. Das Ergebnis aktualisiert sich sofort.
- Ausgabe kopieren — verwenden Sie das Ergebnis in Ihrem Code, Ihrer API-Anfrage oder Ihrem Browser.
Tipps
- Werte kodieren, nicht ganze URLs — wenn Sie eine ganze URL kodieren, werden auch die Schrägstriche und Doppelpunkte, die die URL strukturieren, kodiert, was sie kaputt macht. Kodieren Sie nur die Werte innerhalb von Query-Parametern.
- Doppelte Kodierung — eine bereits kodierte Zeichenkette zu kodieren, erzeugt Dinge wie
%2520(das%wird zu%25). Wenn Ihre URL falsch aussieht, prüfen Sie, ob etwas zweimal kodiert wird. - Decodieren zum Debuggen — wenn eine API-Anfrage fehlschlägt oder eine URL kryptisch aussieht, decodieren Sie sie, um die echten Parameterwerte zu sehen. Das deckt das Problem oft sofort auf.
- Eingebaute Funktionen Ihrer Sprache verwenden — verwenden Sie im Produktionscode immer
encodeURIComponent()(JavaScript),urllib.parse.quote()(Python) oderURLEncoder.encode()(Java) statt von Hand zu kodieren.
Häufig gestellte Fragen
Was ist der Unterschied zwischen encodeURI und encodeURIComponent?
encodeURI bewahrt Zeichen, die in einer URL-Struktur gültig sind (Schrägstriche, Doppelpunkte, Fragezeichen). encodeURIComponent kodiert alles außer Buchstaben, Ziffern und einigen sicheren Zeichen. Verwenden Sie encodeURIComponent für Query-Parameterwerte und encodeURI für vollständige URLs.
Warum werden Leerzeichen zu %20 oder +?
In der URL-Kodierung werden Leerzeichen zu %20. In Formulardaten (application/x-www-form-urlencoded) werden Leerzeichen zu +. Beides ist im jeweiligen Kontext gültig, aber %20 ist der universelle Standard für URLs.
Muss ich meine URLs manuell kodieren?
In den meisten Fällen kümmert sich Ihre Programmiersprache oder Ihr Framework automatisch um die Kodierung. Manuelles Kodieren ist nötig, wenn Sie URLs von Hand bauen, API-Anfragen debuggen oder mit Query-Strings arbeiten, die Sonderzeichen enthalten.
Werden meine Daten an einen Server gesendet?
Nein. Sämtliches Kodieren und Dekodieren erfolgt in Ihrem Browser.