0

Dekodiert

URL-Codierung

Kodiert

URL-Codierung
Leerzeichen

URL-Codierung

URL-Codierung ist ein Verfahren, um Text sicher in URLs darzustellen. Die formale Bezeichnung ist "Prozentkodierung (percent-encoding)", definiert in der URI-Spezifikation RFC 3986.

Zeichen mit besonderer Bedeutung in URLs oder Zeichen, die in URLs nicht direkt verwendet werden sollten, werden in ein Prozentzeichen (%) und zwei hexadezimale Ziffern umgewandelt.

Ein Leerzeichen wird zum Beispiel als %20, ein Ausrufezeichen (!) als %21 und das japanische Zeichen "あ" in UTF-8 als %E3%81%82 dargestellt.

Bei der URL-Codierung wird der Text zuerst mit der gewählten Zeichenkodierung in Bytes umgewandelt. Jedes Byte wird bei Bedarf als %HH dargestellt. In DenCode werden die nicht reservierten Zeichen nach RFC 3986, also alphanumerische Zeichen sowie -, ., _ und ~, nicht umgewandelt; alle anderen Zeichen werden prozentkodiert.

ZeichenNach URL-CodierungBeschreibung
AAAlphanumerische Zeichen sind nicht reserviert und werden daher nicht umgewandelt.
---, ., _ und ~ sind nicht reserviert und werden daher nicht umgewandelt.
/%2FDieses Zeichen trennt URL-Pfadsegmente und sollte kodiert werden, wenn es als Wert verwendet wird.
?%3FDieses reservierte Zeichen leitet die Query-Zeichenfolge ein.
&%26Dieses reservierte Zeichen trennt Query-Parameter.
=%3DDieses reservierte Zeichen trennt Parameternamen und Wert.
Leerzeichen%20Bei der Prozentkodierung in URLs wird ein Leerzeichen als %20 kodiert; bei application/x-www-form-urlencoded als +.
+%2BDas Pluszeichen selbst muss als %2B kodiert werden, wenn es als Wert gemeint ist.
%E3%81%82In UTF-8 wird dieses Zeichen als Drei-Byte-Sequenz kodiert.

Wenn "Hello, world!" URL-kodiert wird, ergibt sich zum Beispiel Folgendes.

Hello%2C%20world%21

In diesem Beispiel wird das Komma (,) zu %2C, das Leerzeichen zu %20 und das Ausrufezeichen (!) zu %21.

Leerzeichen in application/x-www-form-urlencoded

In application/x-www-form-urlencoded, das bei HTML-Formularen verwendet wird, können Leerzeichen als + dargestellt werden. Dieses Format ist im HTML Standard als Kodierung für Formularübermittlungen definiert.

In DenCode kann beim Kodieren ausgewählt werden, ob Leerzeichen als %20 oder als + ausgegeben werden.

FormatErgebnis für "Hello world"Verwendung
ProzentkodierungHello%20worldAllgemein gut für URLs geeignet.
application/x-www-form-urlencodedHello+worldWird in Query-Strings und Request-Bodys von HTML-Formularen verwendet.