Was ist Percent-Encoding (URL-Kodierung)?
Ratgeber zur URL-Kodierung
Eine URL war ursprünglich dafür ausgelegt, nur eine begrenzte Menge von ASCII-Zeichen zu tragen. Setzt man ein Leerzeichen, einen Nicht-Latin-Buchstaben oder ein Sonderzeichen wie ? oder & direkt in eine Adresse, können verschiedene Browser oder Server es unterschiedlich interpretieren, oder sie bricht. Die Lösung ist Percent-Encoding — das, was man üblicherweise URL-Kodierung nennt.
Was %XX bedeutet
Percent-Encoding ersetzt ein unsicheres Zeichen durch seinen Byte-Wert in hexadezimaler Form, dem ein % vorangestellt wird. Ein Leerzeichen wird zu %20, ein Fragezeichen wird zu %3F. Ein Zeichen aus mehreren Bytes, wie die meisten Nicht-Latin-Buchstaben, erhält ein %XX pro UTF-8-Byte.
- Leerzeichen →
%20 ?→%3F&→%26€(UTF-8) →%E2%82%AC
Warum UTF-8
Das moderne Web behandelt UTF-8 als Standard. Das browserinterne encodeURIComponent wandelt Text in UTF-8-Bytes um und macht dann aus jedem Byte ein %XX. Das bedeutet, dass dasselbe Zeichen immer gleich kodiert wird und das Dekodieren den ursprünglichen Text exakt wiederherstellt.
Das Encode/Decode-Tool dieser Seite nutzt die eingebauten Funktionen des Browsers, sodass Ihre Eingabe sofort umgewandelt und niemals an einen Server gesendet wird.
Wann Sie es brauchen
Sie brauchen Percent-Encoding immer dann, wenn Sie eine beliebige Zeichenkette in einen Teil einer Adresse einsetzen — einen Link mit einem Suchbegriff, einen Query-Parameter-Wert oder eine Redirect-Ziel-URL, die in einer anderen URL platziert wird. Ohne Kodierung kann ein & oder = im Wert für einen Trenner gehalten werden und den Parameter abschneiden.