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.
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()
encodeURIComponent()
Der Unterschied zwischen drei Kodierungsmethoden:
escapeundunescape:
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 ZeichenEs gibt 69 Zeichen: *, +, -, ., /, @, _, 0-9, a-z, A-Z.
Die entsprechenden Dekodierungsfunktionen sindunescape();
encodeURIunddecodeURI:
**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
istdecodeURI().
encodeURIComponentunddecodeURIComponent
encodeURIComponentwerden 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!