RFC 3986 vs. encodeURIComponent – Prozentkodierung mit Zeichen-Analysetabelle

Drei Standards zur Auswahl und eine Tabelle, die Zeichen für Zeichen zeigt, was ersetzt wurde – für OAuth-Signaturen und strenge Server-APIs

Wenn es darauf ankommt, welcher Kodierungsstandard genau greift, ist das der richtige Encoder. Sie wählen zwischen drei Zielvorgaben – encodeURI für vollständige URLs, encodeURIComponent für Parameterwerte und strenge Kodierung nach RFC 3986 – und sehen anschließend in einer Analysetabelle, welches Zeichen zu welcher Sequenz geworden ist (Leerzeichen zu %20 und so weiter), statt nur eine fertige Zeichenkette vorgesetzt zu bekommen. Das ist gerade dann nötig, wenn JavaScript-Funktionen nicht ausreichen: encodeURIComponent lässt Zeichen wie !, ', ( ) und * unangetastet, was bei OAuth-Signaturen und pingeligen Server-APIs zu Fehlern führt – die RFC-3986-Variante kodiert sie mit. Die Gegenrichtung stellt aus %-Sequenzen wieder Klartext her.

도구를 불러오는 중…

🔒 Alles läuft zu 100 % in Ihrem Browser. Ihre Dateien und Eingaben werden niemals auf einen Server hochgeladen.

Anleitung

  1. Wählen Sie den Modus „Encode“ oder „Decode“.
  2. Beim Kodieren: Legen Sie zuerst den Zielstandard fest (Wert eines Query-Parameters, vollständige URL-Struktur beibehalten oder RFC 3986) und geben Sie anschließend Ihren Text ein.
  3. Beim Dekodieren: Fügen Sie einen Text mit Sequenzen wie %20 oder %EA%B0… ein – der Klartext wird sofort wiederhergestellt.
  4. Verfolgen Sie in Echtzeit, welche Sonderzeichen ersetzt wurden, inklusive Byte-Zuordnungstabelle (Leerzeichen → %20 usw.).

FAQ

Worin unterscheiden sich encodeURI und encodeURIComponent?
encodeURI lässt jene Zeichen unangetastet, die eine Internetadresse überhaupt erst aufbauen (:, /, ?, &, =, + usw.). encodeURIComponent kodiert dagegen auch diese Zeichen. Für den Wert eines Query-Strings sollten Sie deshalb encodeURIComponent verwenden, damit die URL-Struktur intakt bleibt.
Wozu brauche ich die strikte Kodierung nach RFC 3986?
Die JavaScript-Funktion encodeURIComponent lässt einige Sonderzeichen wie Ausrufezeichen (!), Apostroph ('), Klammern ( ( , ) ) und Sternchen (*) unkodiert. Bei OAuth-Signaturen oder strengen Server-APIs müssen Sie exakt nach RFC 3986 kodieren, sonst scheitert die Kommunikation.
Wird ein Leerzeichen immer als %20 codiert?
Nicht immer. encodeURI, encodeURIComponent und RFC 3986 stellen ein Leerzeichen alle als %20 dar, aber das bei klassischen Formularübermittlungen verwendete Format application/x-www-form-urlencoded ersetzt Leerzeichen stattdessen durch ein Pluszeichen (+). Dieses Tool folgt dem URI-Codierungsstandard (%20) – behalten Sie diesen Unterschied im Kopf, wenn Sie mit Formulardaten arbeiten.

← Zurück zu allen Tools

Preise ansehenKostenlose Beratung