URL-Kodierer / -Dekodierer

URLs und Text mit Prozentkodierung kodieren oder dekodieren.

Das interaktive Formular ist verfügbar, sobald JavaScript aktiviert ist.

So funktioniert es

Die Prozentkodierung ersetzt Zeichen, die in einer URL eine Bedeutung tragen, etwa Leerzeichen, &, ?, # und Buchstaben mit Akzent, durch ein % gefolgt von ihren Bytewerten, damit der Text Einfügen, Protokollieren und Auswerten unbeschadet übersteht. Fügen Sie Text ein und wählen Sie „Kodieren“ oder „Dekodieren“; das Ergebnis erscheint darunter, zusammen mit einer Schaltfläche „Kopieren“.

„Kodieren“ behandelt alles, was Sie einfügen, als einen einzigen Wert, so wie ein einzelner Abfrageparameter oder ein Pfadsegment kodiert werden muss. Nur Buchstaben, Ziffern und - _ . ! ~ * ' ( ) bleiben unverändert; alles andere wird kodiert, auch : / ? # & und =. Genau das braucht ein Wert, aber so kodiert man keine ganze Adresse: Aus https://example.com/a b wird https%3A%2F%2Fexample.com%2Fa%20b, und das funktioniert nicht mehr als Link. Kodieren Sie die Teile, die es brauchen, und lassen Sie die Trennzeichen stehen.

Zeichen außerhalb des reinen ASCII-Zeichensatzes werden zuerst in UTF-8 umgewandelt und dann Byte für Byte kodiert; aus é wird also %C3%A9, und ein Emoji wie 😀 wird zu vier %-Codes (%F0%9F%98%80).

„Dekodieren“ wandelt %-Codes wieder in Text um. Ein + bleibt ein +, denn ein Plus bedeutet nur in formularkodierten Daten ein Leerzeichen; und ein %, auf das nicht zwei gültige Hexadezimalziffern folgen, wie in 100%, lässt sich nicht dekodieren und wird als ungültig gemeldet. Alles läuft in Ihrem Browser.

Beispiel

Leerzeichen werden zu %20 und reservierte URL-Zeichen prozentkodiert. Dekodieren stellt den ursprünglichen Text wieder her.

  • hello worldhello%20world
  • a&b=c als ein Werta%26b%3Dc
  • cafécaf%C3%A9
  • https://example.com/?q=1https%3A%2F%2Fexample.com%2F%3Fq%3D1: richtig als Wert innerhalb einer anderen URL, falsch als eigenständiger Link.
  • a+b%20c → „Dekodieren“a+b c: Das %20 wird zu einem Leerzeichen, das + bleibt.

Häufige Fragen

Warum sehe ich manchmal + statt %20?

Ein Plus bedeutet nur im Format form-urlencoded, das HTML-Formulare beim Absenden verwenden, ein Leerzeichen. Überall sonst in einer URL ist ein Plus ein echtes Plus; deshalb kodiert dieses Werkzeug ein Leerzeichen als %20 und lässt ein + beim Dekodieren unverändert.

Warum werden aus einem einzigen Buchstaben mit Akzent sechs Zeichen?

Er wird zuerst in UTF-8 umgewandelt und dann Byte für Byte kodiert. Der Buchstabe é besteht aus zwei Bytes und wird deshalb zu %C3%A9.

Warum schlägt das Dekodieren fehl?

Meist, weil der Text ein % enthält, das nicht zu einem kodierten Zeichen gehört, etwa in 100%, oder eine Folge, die kein gültiges UTF-8 ist. Kodieren Sie das einzelne % zuerst als %25.

Sollte ich eine ganze URL kodieren, bevor ich sie teile?

Nein. Eine URL, die bereits funktioniert, sollte so geteilt werden, wie sie ist; wird sie noch einmal kodiert, werden ihre Trennzeichen zu Codes, und sie funktioniert nicht mehr. Nur Werte, die in eine URL eingesetzt werden, müssen kodiert werden.

Verwandte Werkzeuge