So kodieren und dekodieren Sie URLs: Eine vollständige Anleitung
Schnelle Antwort
Die URL-Kodierung wandelt unsichere Zeichen in %XX-Sequenzen um, wobei XX der Hexadezimalwert des Bytes ist. Leerzeichen werden zu %20 (oder + in Formulardaten), chinesische Zeichen werden zu Multibyte-%XX-Sequenzen. Nutzen Sie unseren kostenlosen URL Encoder und URL Decoder – die gesamte Verarbeitung erfolgt lokal in Ihrem Browser.
Einführung
Die URL-Kodierung, auch Prozentkodierung genannt, ist ein Mechanismus zum Kodieren reservierter und unsicherer Zeichen in einem URL, damit der URL sicher über das Internet übertragen werden kann. URLs kann nur einen begrenzten Satz von ASCII-Zeichen enthalten; Alle anderen Zeichen (Leerzeichen, Nicht-ASCII-Buchstaben, Symbole) müssen als Sequenz prozentcodiert werden, die mit % beginnt, gefolgt von zwei hexadezimalen Ziffern, die den Bytewert darstellen.
Schritt für Schritt
-
Identifizieren Sie, was kodiert werden muss
Zeichen, die nicht im nicht reservierten Satz enthalten sind (A-Z, a-z, 0-9, -, ., _, ~), müssen prozentual codiert werden. Dazu gehören Leerzeichen, Abfragetrennzeichen wie = und &, Schrägstriche und alle Nicht-ASCII-Zeichen wie Chinesisch, Arabisch oder Emoji.
-
Codieren Sie den URL oder die Abfragezeichenfolge
Fügen Sie Ihren Text in das URL Encoder-Tool ein. Es verwendet encodeURIComponent(), um jedes reservierte Zeichen zu kodieren. Das Ergebnis erscheint sofort im Ausgabefeld.
-
Kopieren Sie das codierte Ergebnis
Klicken Sie auf die Schaltfläche „Kopieren“, um die prozentcodierte Zeichenfolge zu kopieren. Sie können es jetzt sicher in einen URL-Abfrageparameter, eine API-Anfrage oder eine Formularübermittlung einbetten.
-
Dekodieren Sie ein verschlüsseltes URL
Fügen Sie eine codierte URL- oder Abfragezeichenfolge in das URL-Decoder-Tool ein. Es verwendet decodeURIComponent(), um die ursprünglichen Zeichen wiederherzustellen. Stellen Sie sicher, dass die dekodierte Ausgabe Ihren Erwartungen entspricht.
-
Randfälle überprüfen
Überprüfen Sie, ob Leerzeichen korrekt dekodiert werden (%20 vs. +), dass Multibyte-UTF-8-Sequenzen in das richtige Zeichen dekodiert werden und dass bereits kodierte Zeichenfolgen nicht doppelt kodiert sind.
Beispiele
Kodieren Sie Text mit einem Leerzeichen
Eingang: Hello World
Ausgabe: Hello%20World
Codieren Sie ein Pfadtrennzeichen
Eingang: a/b
Ausgabe: a%2Fb
Chinesische Schriftzeichen kodieren (UTF-8)
Eingang: 你好
Ausgabe: %E4%BD%A0%E5%A5%BD
Dekodieren Sie einen kodierten Abfrageparameter
Eingang: key%3Dvalue%26foo%3Dbar
Ausgabe: key=value&foo=bar
Häufige Probleme
- Doppelte Codierung: Durch die Codierung einer bereits codierten Zeichenfolge wird %20 in %2520 umgewandelt. Überprüfen Sie immer, ob die Eingabe bereits codiert ist, bevor Sie sie erneut codieren.
- Verwechslung von encodeURI mit encodeURIComponent: encodeURI behält reservierte Zeichen wie /, ? und & für den gesamten URLs bei, während encodeURIComponent alles für Abfrageparameterwerte codiert.
- Leerzeichenbehandlung: %20 ist die prozentcodierte Form; + ist nur in application/x-www-form-urlencoded-Körperdaten gültig, nicht im URL-Pfad oder in der Abfragezeichenfolge gemäß RFC 3986.
- Nicht-UTF-8-Legacy-Codierungen: Moderne Browser codieren als UTF-8, aber Legacy-Systeme verwenden möglicherweise GBK oder Latin-1, was bei der Decodierung auf der anderen Seite zu Mojibake führt.
Tipps
- Verwenden Sie encodeURIComponent() für einzelne Abfrageparameterwerte und encodeURI() für gesamte URLs, die bereits wohlgeformt sind.
- Codieren Sie beim Erstellen von Abfragezeichenfolgen den Wert, aber nicht die Trennzeichen = oder & – codieren Sie jeden Wert separat und verknüpfen Sie ihn dann mit &.
- Verwenden Sie unsere URL Encoder- und Decoder-Tools, um API-Aufrufe zu debuggen, die aufgrund fehlerhafter Abfragezeichenfolgen 400 Fehler zurückgeben.
- Dekodieren Sie auf der Serverseite immer mit der gleichen Zeichenkodierung (UTF-8), um Mojibake zu vermeiden.