Heim > Web-Frontend > js-Tutorial > Detaillierte Erläuterung der Unterschiede zwischen den String-Kodierungsfunktionen escape(), encodeURI() und encodeURIComponent() in js_javascript-Kenntnissen

Detaillierte Erläuterung der Unterschiede zwischen den String-Kodierungsfunktionen escape(), encodeURI() und encodeURIComponent() in js_javascript-Kenntnissen

WBOY
Freigeben: 2016-05-16 15:07:10
Original
1512 Leute haben es durchsucht

Es gibt drei Funktionen in JavaScript, die Zeichenfolgen kodieren können, nämlich: Escape, EncodeURI, EncodeURIComponent und die entsprechenden drei Dekodierungsfunktionen:

unescape,decodeURI,decodeURIComponent.

Im Folgenden finden Sie eine kurze Einführung in ihre Unterschiede

1 Escape()-Funktion

Definition und Verwendung

Die Funktion

escape() kodiert einen String, sodass dieser auf allen Computern gelesen werden kann.

Grammatik

escape(string)

Parameterbeschreibung

Zeichenfolge erforderlich. Die Zeichenfolge, die maskiert oder codiert werden soll.

Rückgabewert

Eine Kopie der codierten Zeichenfolge. Einige dieser Zeichen werden durch hexadezimale Escape-Sequenzen ersetzt.

Beschreibung

Diese Methode kodiert weder ASCII-Buchstaben und -Zahlen noch die folgenden ASCII-Satzzeichen: -_ *

Alle anderen Zeichen werden durch Escape-Sequenzen ersetzt.

2 encodeURI()-Funktion

Definition und Verwendung

Die Funktion encodeURI() kodiert einen String als URI.

Grammatik

encodeURI(URIstring)

Parameterbeschreibung

URIstring erforderlich. Eine Zeichenfolge, die den URI oder anderen zu kodierenden Text enthält.

Rückgabewert

Eine Kopie des URIstrings, wobei einige Zeichen durch hexadezimale Escape-Sequenzen ersetzt wurden.

Beschreibung

Diese Methode kodiert weder ASCII-Buchstaben und -Zahlen noch diese ASCII-Satzzeichen: - _ ~ * ' ( ) .

Der Zweck dieser Methode besteht darin, den URI vollständig zu kodieren, sodass die Funktion encodeURI() die folgenden ASCII-Satzzeichen, die im URI eine besondere Bedeutung haben, nicht maskiert: ;/?:@&=+$ ,#

3 encodeURIComponent()-Funktion

Definition und Verwendung

Die Funktion encodeURIComponent() kodiert einen String als URI-Komponente.

Grammatik

encodeURIComponent(URIstring)

Parameterbeschreibung

URIstring erforderlich. Eine Zeichenfolge, die URI-Komponenten oder anderen zu codierenden Text enthält.

Rückgabewert

Eine Kopie des URIstrings, wobei einige Zeichen durch hexadezimale Escape-Sequenzen ersetzt wurden.

Beschreibung

Diese Methode kodiert weder ASCII-Buchstaben und -Zahlen noch diese ASCII-Satzzeichen: - _ ~ * ' ( ) .

Andere Zeichen (z. B. :;/?:@&=+$,# die Satzzeichen, die zum Trennen von URI-Komponenten verwendet werden) werden durch eine oder mehrere hexadezimale Escape-Sequenzen ersetzt.

Tipps und Hinweise

Tipp: Bitte beachten Sie, dass sich die Funktion encodeURIComponent() von der Funktion encodeURI() dadurch unterscheidet, dass erstere davon ausgeht, dass ihre Argumente Teil eines URI sind (z. B. ein Protokoll, ein Hostname, ein Pfad oder eine Abfragezeichenfolge). Die Funktion encodeURIComponent() maskiert daher die Satzzeichen, die Teile des URI trennen.

4 Zusammenfassung:

Durch die Analyse der drei Funktionen können wir Folgendes wissen: escape() maskiert zusätzlich zu ASCII-Buchstaben, Zahlen und bestimmten Symbolen alle übergebenen Zeichenfolgen. Wenn Sie also die URL codieren möchten, ist dies der Fall Am besten verwenden Sie diese Methode nicht. Und encodeURI() wird zum Codieren des gesamten URI verwendet, da die zulässigen Zeichen im URI nicht codiert und konvertiert werden. Die encodeURIComponent-Methode sollte am häufigsten zum Codieren einer einzelnen URIComponent verwendet werden (bezogen auf Anforderungsparameter). Sie kann chinesische Zeichen und Sonderzeichen in den Parametern maskieren, ohne die gesamte URL zu beeinträchtigen.

5 Beispiel:

1 Escape()

<script type="text/javascript">
document.write(escape("http://www.w3school.com.cn/") + "<br />")
document.write(escape("&#63;!=()#%&"))
</script>输出:
http%3A//www.w3school.com.cn
%3F%21%3D%28%29%23%25%26
Nach dem Login kopieren

2 encodeURI()

<script type="text/javascript">
document.write(encodeURI("http://www.w3school.com.cn/")+ "<br />")
document.write(encodeURI("http://www.w3school.com.cn/My first/"))
document.write(encodeURI(",/&#63;:@&=+$#"))
</script>输出:
http://www.w3school.com.cn/
http://www.w3school.com.cn/My%20first/
,/&#63;:@&=+$#
Nach dem Login kopieren

Kodiert die gesamte URL, während URL-spezifische Kennungen nicht transkodiert werden.

3 encodeURIComponent()

Beispiel 1:

<script type="text/javascript">
document.write(encodeURIComponent("http://www.w3school.com.cn/"))
document.write("<br />")
document.write(encodeURIComponent("http://www.w3school.com.cn/p 1/"))
document.write("<br />")
document.write(encodeURIComponent(",/&#63;:@&=+$#"))
</script输出:
http%3A%2F%2Fwww.w3school.com.cn
http%3A%2F%2Fwww.w3school.com.cn%2Fp%201%2F
%2C%2F%3F%3A%40%26%3D%2B%24%23
Nach dem Login kopieren

Beispiel 2:

<script language="javascript">document.write('
<a href="http://passport.baidu.com/&#63;logout&aid=7&u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'">退出</a>');</script>
Nach dem Login kopieren

Kodieren Sie die Parameter in der URL, da die Parameter auch eine URL sind. Wenn sie nicht kodiert sind, wirkt sich dies auf den Sprung der gesamten URL aus.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage