Zum Inhalt springen
Favoriten

URL-Dekodierer

Aktualisiert:

Dekodieren Sie eine prozentkodierte URL oder Zeichenkette in lesbaren Text. Fügen Sie sie in das Feld „Kodierte URL“ ein, um das dekodierte Ergebnis zu sehen.

URL-Prozentkodierung-Dekodierer-Tool

Eingabefelder
Wenn aktiviert, wird das Ergebnis automatisch aktualisiert, sobald Sie einen Wert ändern.

URL-Dekodierer-Formel

Formel
\[\operatorname{decoded}=\operatorname{decodeURIComponent}(\operatorname{trim}(\text{input}))\]

Wobei gilt:

  • \(\text{input}\) — der Text, der im Feld „Kodierte URL“ eingegeben wird.
  • \(\operatorname{trim}\) — entfernt Leerzeichen am Anfang und am Ende der Eingabe.
  • \(\operatorname{decodeURIComponent}\) — wandelt gültige prozentkodierte Bytes in Zeichen um.

Der Rechner wendet JavaScripts decodeURIComponent einmal auf die von Leerzeichen befreite Eingabe an. So wird beispielsweise %20 zu einem Leerzeichen und %3A zu einem Doppelpunkt.

URL-Dekodierer – Rechenbeispiel

Beispiel: Dekodieren Sie den Standardwert https%3A%2F%2Fcalcdash.com%2Ftools%3Futm_source%3Dchat.

\[\%3A\to\texttt{:},\quad\%2F\to\texttt{/},\quad\%3F\to\texttt{?},\quad\%3D\to\texttt{=}\]

Ergebnis: https://calcdash.com/tools?utm_source=chat.

So verwenden Sie den URL-Dekodierer

  1. Fügen Sie eine prozentkodierte URL, einen Abfragewert oder anderen kodierten Text in das Feld Kodierte URL ein. Der Standardwert ist vorhanden, wenn Sie zunächst ein Beispiel ausprobieren möchten.
  2. Lesen Sie den umgewandelten Text unter Dekodierte URL. Sie können das Ergebnis mit der daneben liegenden Kopierfunktion kopieren.
  3. Wenn das Ergebnis Ungültige kodierte Zeichenkette lautet, prüfen Sie die Eingabe auf eine unvollständige Prozentsequenz, einen Escape mit nicht hexadezimalen Zeichen oder eine ungültige UTF-8-Bytefolge.

Was URL-Dekodierung bedeutet

Die Prozentkodierung stellt jedes kodierte Byte als ein Prozentzeichen gefolgt von zwei Hexadezimalziffern dar. So können URLs Zeichen enthalten, die sonst eine besondere Bedeutung hätten oder sich nur schwer direkt einfügen ließen. Ein Leerzeichen wird üblicherweise als %20 geschrieben; ein Doppelpunkt kann als %3A geschrieben werden. Dieser Dekodierer wandelt diese Sequenzen zurück in lesbare Zeichen, wodurch kopierte Links, Weiterleitungsziele und Abfragewerte leichter zu prüfen sind.

Der Rechner wendet decodeURIComponent auf den gesamten eingegebenen Text an. Trotz des Feldnamens muss die Eingabe keine vollständige URL sein: Hello%20World%21 ergibt Hello World!. Er dekodiert auch prozentkodierte reservierte Zeichen. Im Rechenbeispiel wird %3F zum Fragezeichen, das eine Abfragezeichenkette einleitet, und %3D zum Gleichheitszeichen in deren Parameter.

Dekodierter Text ist nützlich, um einen Wert zu lesen, aber er ist nicht zwangsläufig eine URL, die Sie unverändert verwenden sollten. Ein dekodierter Schrägstrich, ein Fragezeichen oder ein kaufmännisches Und kann eine strukturelle Rolle übernehmen, wenn das Ergebnis wieder in eine URL eingesetzt wird. Wenn Sie Text für eine bestimmte URL-Komponente erneut kodieren müssen, verwenden Sie den URL-Kodierer. Um Links innerhalb eines größeren Textes zu finden, probieren Sie den URL-Extraktor aus.

Häufige Kodierungen auf einen Blick

Kodierter Text Dekodiertes Zeichen
%20 Leerzeichen
%2F /
%3F ?
%25 %
%E2%9C%93 ✓

Die letzte Zeile zeigt ein Zeichen, das als mehrere UTF-8-Bytes kodiert ist. Der Dekodierer interpretiert gültige prozentkodierte UTF-8-Sequenzen gemeinsam, statt jedes kodierte Byte als separates Zeichen zu behandeln.

Grenzen und praktische Hinweise

Ein Pluszeichen wird von diesem Rechner nicht in ein Leerzeichen umgewandelt. In Abfragedaten aus Formularen steht + oft für ein Leerzeichen, aber decodeURIComponent lässt es als + bestehen. Beispielsweise bleibt red+blue red+blue, während red%20blue zu red blue wird. Wenn Sie Formulardaten verarbeiten, verwenden Sie einen Abfrage-Parser für Formulardaten, um diese Konvention von der Prozentdekodierung zu unterscheiden.

Die Dekodierung erfolgt nur einmal. Beispielsweise wird %2520 zu %20, nicht zu einem Leerzeichen: Der erste Durchlauf dekodiert %25 zu einem literalen Prozentzeichen. Dekodieren Sie nur ein zweites Mal, wenn Sie wissen, dass die Quelle doppelt kodiert wurde. Wiederholte Dekodierung kann die Bedeutung eines Textes verändern, den Sie wörtlich beibehalten wollten.

Jedes Prozentzeichen muss einen gültigen Escape wie %2F einleiten. Ein einzelnes %, ein Escape wie %ZZ oder prozentkodierte Bytes, die kein gültiges UTF-8 bilden, führen dazu, dass der Rechner Ungültige kodierte Zeichenkette anstelle eines Teilergebnisses anzeigt. Der Rechner entfernt Leerzeichen um die Eingabe herum, bevor er dekodiert, aber Leerzeichen, die innerhalb der Eingabe durch %20 dargestellt werden, bleiben im dekodierten Ergebnis erhalten.

URL-Dekodierung ist etwas anderes als das Dekodieren von Base64: Die beiden Formate folgen unterschiedlichen Regeln und sind nicht austauschbar. Wenn Ihr Text Base64 statt prozentkodiert ist, verwenden Sie den Base64-Dekodierer.

Häufig gestellte Fragen

Wie kann ich eine prozentkodierte Zeichenkette von Hand dekodieren?

Lesen Sie jedes % gefolgt von zwei Hexadezimalziffern als ein Byte und interpretieren Sie die Bytes dann als UTF-8-Text. Beispielsweise ergibt %48%69 die Bytes für „Hi“. Ein Zeichen außerhalb des einfachen ASCII-Bereichs kann mehrere Bytes benötigen; dekodieren Sie benachbarte Escapes daher gemeinsam, statt jedes als separates Zeichen zu behandeln.

Was ist der Unterschied zwischen decodeURI und decodeURIComponent?

JavaScripts decodeURI bewahrt Escapes für Zeichen mit einer strukturellen Rolle in einer URL, etwa kodierte Fragezeichen und kaufmännische Und-Zeichen. decodeURIComponent dekodiert auch diese Zeichen. Dieser Rechner verwendet decodeURIComponent, was nützlich ist, um einen kodierten Wert zu lesen, aber eine vollständige URL strukturell anders als das Original erscheinen lassen kann.

Sind Groß- und Kleinbuchstaben bei Hexadezimalziffern in der URL-Kodierung gleichwertig?

Ja. Hexadezimalziffern sind unabhängig von der Groß-/Kleinschreibung, sodass %2F und %2f beide einen Schrägstrich ergeben. Gewöhnliche Buchstaben, die nicht Teil eines Prozent-Escapes sind, bleiben unverändert: „A%2Fb“ wird zu „A/b“. Eine Änderung der Groß-/Kleinschreibung eines Escapes ändert nicht das Byte, das er darstellt.

Warum enthält eine dekodierte URL noch Prozentzeichen?

Ein verbleibendes Prozentzeichen kann gewöhnlicher Text sein oder Teil einer weiteren kodierten Ebene. Beispielsweise ergibt die einmalige Dekodierung von %252F das Ergebnis %2F, weil %25 ein literales Prozentzeichen darstellt. Gehen Sie nicht davon aus, dass ein zweiter Durchlauf nötig ist: Prüfen Sie zuerst, ob der ursprüngliche Wert absichtlich mehrfach kodiert wurde.

Kann ich nur einen Abfrageparameter dekodieren, ohne den Rest der URL zu ändern?

Ja. Extrahieren Sie zuerst den Parameterwert und dekodieren Sie dann diesen Wert statt der gesamten URL. Das ist wichtig, wenn ein Wert ein kodiertes kaufmännisches Und oder Gleichheitszeichen enthält: Die Dekodierung der vollständigen URL kann diese Zeichen wie Parametertrenner aussehen lassen. Für Abfragezeichenketten aus Formularen berücksichtigt ein Abfrage-Parser wie URLSearchParams auch die Konvention, dass + ein Leerzeichen darstellt.

Zeigt die Dekodierung eines Links, ob er sicher zu öffnen ist?

Nein. Die Dekodierung zeigt lesbaren Text; sie überprüft weder das Ziel noch Weiterleitungen noch die Vertrauenswürdigkeit eines Links. Prüfen Sie den tatsächlichen Hostnamen und seien Sie mit Links aus unbekannten Quellen vorsichtig. Abfragezeichenketten können außerdem private Token enthalten; teilen Sie einen dekodierten Link daher nicht, ohne ihn vorher zu prüfen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert