Heim >Web-Frontend >js-Tutorial >So kodieren und konvertieren Sie URLs in Javascript

So kodieren und konvertieren Sie URLs in Javascript

青灯夜游
青灯夜游Original
2021-04-09 18:56:1312265Durchsuche

So verwenden Sie JavaScript zum Codieren von URLs: 1. Verwenden Sie die Funktion encodeURI(), um die Zeichenfolge als URI zu codieren. 2. Verwenden Sie die Funktion encodeURIComponent(), um die Zeichenfolge als URI-Komponente zu codieren.

So kodieren und konvertieren Sie URLs in Javascript

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Im Projekt ist ein Fehler beim Parsen von Parametern und Array-Objekten aufgetreten. Es wurde durch Transkodierung gelöst, aber das eigentliche Prinzip war mir nicht klar.

Es gibt drei Funktionen in der Javascript-Sprache, die zur Kodierung verwendet werden.

  • escape()

  • encodeURI()
  • encodeURIComponent()

Der Unterschied zwischen drei Kodierungsmethoden:

  • escape und unescape:

    Flucht: kann nicht sein Direkt verwendet Bei der URL-Codierung besteht die eigentliche Funktion darin, den Unicode-Codierungswert eines Zeichens zurückzugeben, damit die angegebene Zeichenfolge codiert werden kann.
    Mit Ausnahme von ASCII-Buchstaben, Zahlen und Satzzeichen „@ * _ + - . /“ werden alle Leerzeichen, Satzzeichen, Sonderzeichen und andere Nicht-ASCII-Zeichen in die Zeichenkodierung im Format %xx (hexadezimal) umgewandelt Zahlen). Das heißt, escape kodiert keine Zeichen Es gibt 69 Zeichen: *, +, -, ., /, @, _, 0-9, a-z, A-Z.

    Die entsprechenden Dekodierungsfunktionen sind unescape();

  • encodeURI und decodeURI:
    **encodeURI()** ist die Funktion, die tatsächlich zum Kodieren von URLs in Javascript verwendet wird. Die gesamte URL wird codiert. Zusätzlich zu den allgemeinen Symbolen werden Symbole mit besonderer Bedeutung in der URL „; ? : @ & = + $ , #“ nicht codiert. Geben Sie nach der Codierung die UTF-8-Form des Symbols aus und fügen Sie vor jedem Byte % hinzu. Beachten Sie, dass encodeURI() keine einfachen Anführungszeichen codiert. Die entsprechende Dekodierungsfunktion von

    ist decodeURI().

  • encodeURIComponent und decodeURIComponent

    encodeURIComponent werden verwendet, um Komponenten einer URL einzeln zu kodieren, anstatt die gesamte URL zu kodieren. Daher werden die Symbole „; / ? : @ & = + $ , #“, die nicht in encodeURI() codiert sind, alle in encodeURIComponent() codiert.

    Weil encodeURIComponent() mehr Zeichen codiert, z. B. „/“ und andere Zeichen. Enthält der String mehrere Teile des URI, kann dieser nicht zur Kodierung verwendet werden. Andernfalls wird die URL nach der Codierung des „/“-Zeichens falsch angezeigt. Daher kann es bei der Übergabe von Parametern durch Parameter, die Sonderzeichen enthalten, zu Unterbrechungen kommen.

Zusammenfassung:

**escape()**-Funktion wird in js zum Codieren von Zeichenfolgen verwendet. Nicht häufig verwendet

**encodeURI()** wird zum Überspringen der gesamten URL verwendet

**encodeURIComponent()** wird zum Übergeben von Parametern verwendet. Parameter, die Sonderzeichen enthalten, können zu Unterbrechungen führen.

【Empfohlenes Lernen: Javascript-Tutorial für Fortgeschrittene

Das obige ist der detaillierte Inhalt vonSo kodieren und konvertieren Sie URLs in Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn