URL-Encoding verstaendlich erklaert: Prozentzeichen, Sonderzeichen und warum %20 ein Leerzeichen ist

Jeder kennt diese kryptischen URLs mit Prozentzeichen und Zahlen: suche?q=caf%C3%A9%20bar. Was auf den ersten Blick wie ein Fehler aussieht, ist in Wahrheit ein praezise definiertes Verfahren namens URL-Encoding oder Percent-Encoding. Es sorgt dafuer, dass auch Umlaute, Leerzeichen und Sonderzeichen verlustfrei in einer Webadresse transportiert werden koennen. Dieser Ratgeber erklaert, wie das funktioniert und wann du es brauchst.

Warum URLs nicht jedes Zeichen vertragen

Eine URL ist nach dem Standard RFC 3986 nur fuer einen begrenzten Zeichenvorrat gedacht: Buchstaben von A bis Z, Ziffern und eine Handvoll Sonderzeichen wie Bindestrich, Punkt oder Unterstrich. Alles andere, also Leerzeichen, deutsche Umlaute, kaufmaennisches Und oder ein Fragezeichen innerhalb eines Wertes, hat in der URL eine Sonderbedeutung oder ist gar nicht erlaubt.

Wuerde man ein Leerzeichen oder ein & einfach so in eine URL schreiben, koennte der Server die Adresse falsch interpretieren oder den Aufruf abbrechen. URL-Encoding loest dieses Problem, indem es problematische Zeichen in eine sichere Schreibweise uebersetzt.

So funktioniert Percent-Encoding

Das Prinzip ist einfach: Jedes nicht erlaubte Zeichen wird in seine Byte-Darstellung (UTF-8) umgewandelt, und jedes Byte wird als Prozentzeichen gefolgt von zwei Hexadezimalziffern geschrieben. Daher der Name Percent-Encoding. Ein paar Beispiele:

Beim Decodieren laeuft alles rueckwaerts: Aus %C3%A4 wird wieder der Umlaut. Genau das erledigt der URL Encoder & Decoder auf kotsch.tech in beide Richtungen, direkt im Browser und ohne dass dein Text das Geraet verlaesst.

Pfad oder Query: Das macht einen Unterschied

URL-Encoding ist nicht ueberall in der Adresse identisch. Man unterscheidet grob zwischen dem Pfad (vor dem Fragezeichen) und der Query (dem Teil mit den Parametern danach). Im Pfad sind etwa Schraegstriche erlaubt, in einem Parameterwert dagegen nicht, weil sie sonst die Struktur stoeren wuerden.

In der Praxis heisst das: Wenn du einen kompletten Wert in einen Query-Parameter packst, solltest du nur diesen Wert kodieren, nicht die ganze URL. Sonst kodierst du auch die Trennzeichen wie ? oder =, und die Adresse wird unbrauchbar. Ein guter Encoder bietet daher beide Modi an.

Typische Anwendungsfaelle

URL-Encoding begegnet dir oefter, als du denkst:

Haeufige Stolperfallen

Die typischen Fehler lassen sich leicht vermeiden, wenn man sie kennt:

Mit dem URL Encoder & Decoder testest du solche Faelle in Sekunden. Fuer angrenzende Aufgaben lohnt ausserdem ein Blick auf den Text Decoder, der neben URL-Encoding auch Base64, HTML-Entities und Hex beherrscht, sowie auf die gesamte Sammlung unter kotsch.tech/webtools.

Fazit

URL-Encoding ist die Uebersetzungsschicht, die jede Webadresse robust macht. Sonderzeichen werden in eine sichere Prozent-Schreibweise gebracht und beim Empfaenger wieder zurueckverwandelt. Wer den Unterschied zwischen Pfad und Query kennt und doppelte Kodierung vermeidet, hat das Thema im Griff. Probier es direkt mit dem URL Encoder & Decoder aus.