Was ist URL-Codierung?
Bei der URL-Kodierung, auch Prozentkodierung genannt, werden Zeichen, die in einer Webadresse nicht sicher sind, durch ein Prozentzeichen gefolgt von einem Code ersetzt. Ein Leerzeichen wird zu %20, ein kaufmännisches Und wird zu %26 und so weiter. Auf diese Weise können Sie beliebigen Text, Leerzeichen, Akzente und Symbole in eine URL einfügen, ohne diese zu beschädigen. Dieses Tool kodiert Text zur sicheren Verwendung in URLs und dekodiert prozentkodierten Text wieder in lesbare Form.
Warum es notwendig ist
URLs verfügen über eine begrenzte Menge an Zeichen, die sie sicher enthalten können. Wenn Sie einen Suchbegriff, einen Parameterwert oder ein Pfadsegment, das Leerzeichen, Schrägstriche, Fragezeichen oder nicht-englische Buchstaben enthält, direkt in eine URL einfügen, können diese Zeichen falsch interpretiert werden und den Link unterbrechen. Durch die Kodierung werden sie in eine sichere Darstellung umgewandelt, die von Servern und Browsern korrekt dekodiert wird. Jeder, der Abfragezeichenfolgen, API-Aufrufe oder Links programmgesteuert erstellt, benötigt dies ständig.
Kodierung und Dekodierung
Durch die Codierung wird lesbarer Text URL-sicher gemacht, was beim Erstellen eines Links oder eines Abfrageparameters unerlässlich ist. Das Dekodieren bewirkt das Gegenteil und wandelt eine prozentcodierte Zeichenfolge wieder in lesbaren Text um. Dies ist nützlich, wenn Sie eine URL lesen, die Ihnen jemand gesendet hat, einen API-Aufruf debuggen oder überprüfen, was ein Parameter tatsächlich enthält. Dieses Tool erledigt beides mit jeweils einem Klick und verarbeitet akzentuierte und nicht-englische Zeichen korrekt über UTF-8.
Häufige Situationen
Erstellen einer Such-URL, bei der die Abfrage Leerzeichen und Symbole enthält. Übergeben eines Werts, der ein kaufmännisches Und-Zeichen oder ein Gleichheitszeichen enthält, über einen Abfrageparameter, ohne die URL-Struktur zu zerstören. Lesen einer langen, verschlüsselten URL, um zu verstehen, worauf sie verweist. Erstellen von API-Anfragen, bei denen Parameter codiert werden müssen. Da es in Ihrem Browser ausgeführt wird, können Sie Werte, die vertrauliche Daten enthalten, sicher kodieren oder dekodieren.
Was ist URL-Codierung?
Bei der URL-Kodierung, auch Prozentkodierung genannt, werden unsichere oder reservierte Zeichen in einer URL durch ein Prozentzeichen gefolgt von zwei hexadezimalen Ziffern ersetzt. Ein Leerzeichen wird zu %20, ein kaufmännisches Und wird zu %26 und so weiter. URLs sind durch den RFC 3986-Standard auf einen kleinen Satz von ASCII-Zeichen beschränkt, sodass alles außerhalb dieses Satzes, Leerzeichen, Akzente, Emojis oder reservierte Symbole wie ? & = # muss bei Verwendung als Daten codiert werden, um vom Browser zum Server zu gelangen, ohne die Struktur der URL zu beschädigen.
encodeURI versus encodeURIComponent
JavaScript bietet zwei Codierungsfunktionen und die falsche Auswahl ist ein häufiger Fehler. encodeURIComponent kodiert alles, was reserviert ist und was Sie für einzelne Werte benötigen, die Sie in eine Abfragezeichenfolge, einen Suchbegriff, einen Parameterwert oder ein Umleitungsziel einfügen. encodeURI bewahrt URL-Strukturzeichen wie /? & = und ist für die Codierung einer gesamten URL unter Beibehaltung ihrer Funktionsfähigkeit gedacht. Als Faustregel gilt: Verwenden Sie encodeURIComponent für die Werte innerhalb einer URL und encodeURI nur für eine gesamte URL. Dieses Tool kodiert Komponenten, was Sie am häufigsten benötigen.
Häufige Fehler bei der URL-Kodierung
Zwei Käfer dominieren. Eine Doppelcodierung tritt auf, wenn Sie eine bereits codierte Zeichenfolge codieren. %20 wird zu %2520, wodurch die Verknüpfung unterbrochen wird. Kodieren Sie nur Rohtext, niemals eine bereits kodierte URL, und dekodieren Sie zuerst, wenn Sie sich nicht sicher sind. Das andere ist die Mehrdeutigkeit des Pluszeichens: In einer Abfragezeichenfolge kann + ein Leerzeichen bedeuten (aus der HTML-Formularkodierung), aber in einem URL-Pfad ist es ein wörtliches Pluszeichen. Im Zweifelsfall verwenden Sie %20 für ein überall eindeutiges Leerzeichen. Denken Sie auch daran, dass ein nicht codiertes & innerhalb eines Werts fälschlicherweise als Parametertrennzeichen interpretiert wird und Ihre Daten aufteilt.