0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Konfiguration
Codieren und decodieren Sie Textzeichenfolgen für den sicheren Einsatz in URLs. Komponente codiert alle reservierten Zeichen – ideal für Parameterwerte von query. Komplette URL behält die Struktur der URL (Schema, Leerzeichen, Fragezeichen) bei. Verwenden Sie + für Leerzeichen in HTML-Formularen (application/x-www-form-urlencoded).
Operation
Reichweite
Räume
0

So funktioniert es

Die URL-Codierung (Percent-Encoding) ersetzt Zeichen, die nicht wörtlich in einer Adresse erscheinen können, durch %XX-Sequenzen mit ihrem Bytewert. Zum Beispiel wird das Leerzeichen zu %20.

Der Geltungsbereich „Komponente“ maskiert auch die reservierten Zeichen (= & / ? #): Verwende ihn für den Wert eines Parameters. „Vollständige URL“ bewahrt die Adressstruktur: Verwende sie für eine ganze URL.

In HTML-Formularen wird das Leerzeichen als + codiert (application/x-www-form-urlencoded); in allen anderen Fällen wird gemäß dem Standard RFC 3986 %20 verwendet.

Beispiele

hola mundo & máshola%20mundo%20%26%20m%C3%A1sDas „&“ wird maskiert (%26), damit es nicht mit einem Parametertrennzeichen verwechselt wird; „á“ wird in UTF-8 codiert (%C3%A1).
a=1&b=2a%3D1%26b%3D2
https://sitio.com/á b?x=1 2URL completa: https://sitio.com/%C3%A1%20b?x=1%202Im Modus „Vollständige URL“ bleiben ://, / und ? erhalten; nur was die Adresse beschädigen würde, wird maskiert.

Anwendungsfälle

  • Query-Parameter sicher zusammenstellen, wenn eine URL von Hand gebaut wird.
  • Werte codieren, die &, =, Leerzeichen oder Akzente enthalten, bevor sie in einer GET-Anfrage gesendet werden.
  • Eine URL decodieren, um zu lesen, welche Werte jeder Parameter trägt.
  • application/x-www-form-urlencoded-Bodies für den Formularversand vorbereiten.

Häufige Fragen

Was ist der Unterschied zwischen „Komponente“ und „Vollständige URL“?

„Komponente“ (encodeURIComponent) maskiert auch =, &, /, ?, # — für einen einzelnen Wert. „Vollständige URL“ (encodeURI) bewahrt diese Strukturzeichen — für eine ganze URL.

Wann verwendet man + und wann %20 für ein Leerzeichen?

Das + gilt nur für den Body von Formularen (application/x-www-form-urlencoded). Im übrigen Teil der URL ist der Standard für das Leerzeichen %20.

Warum wird „á“ zu %C3%A1 und nicht zu einem einzelnen %XX?

Weil es in UTF-8 codiert wird: Nicht-ASCII-Zeichen belegen mehrere Bytes, und jedes Byte wird durch seine eigene %XX-Sequenz dargestellt.

Macht das Codieren einer URL sie sicher?

Nein. Es macht sie nur auf Syntaxebene gültig. Es ist keine Verschlüsselung und schützt den Inhalt in keiner Weise.