Heim > Web-Frontend > js-Tutorial > Hauptteil

Einfache und klare Unterscheidung zwischen Escape, encodeURI und encodeURIComponent

青灯夜游
Freigeben: 2018-10-08 16:05:04
nach vorne
1705 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich die Unterschiede zwischen Escape, EncodeURI und EncodeURIComponent vorgestellt

Vorwort

Lassen Sie uns über die Unterschiede zwischen ihnen sprechen Diese drei Methoden Es gibt zu viele Artikel, aber die meisten sind sehr kompliziert. In diesem Artikel wird versucht, diese drei Methoden aus praktischer Sicht zu erklären.

2. Escape und sie gehören nicht zur gleichen Kategorie

Einfach gesagt, Escape codiert eine Zeichenfolge (während die anderen beiden URLs codieren). sie sind auf allen Computern lesbar.
Das Ergebnis nach der Kodierung hat die Form %XX oder %uXXXX.
Davon werden ASCII-Buchstaben, Zahlen und @*/+ nicht kodiert, der Rest jedoch schon.
Das Wichtigste ist, dass Sie diese Methode vergessen, wenn Sie die URL kodieren müssen. Diese Methode wird für Zeichenfolgen verwendet, nicht für URLs.
Tatsächlich habe ich diese Methode in der tatsächlichen Arbeit nicht verwendet, daher werde ich nicht auf Details eingehen.

3. Die am häufigsten verwendeten encodeURI und encodeURIComponent

Es ist üblich, URLs zu kodieren, daher sollte diesen beiden Methoden in der Praxis besondere Aufmerksamkeit geschenkt werden.
Es handelt sich bei beiden um codierte URLs. Der einzige Unterschied besteht im codierten Zeichenbereich. Die
encodeURI-Methode codiert nicht die folgenden Zeichen: ASCII-Buchstaben, Zahlen, ~!@#$&*()=:/,; ?+ '
Die encodeURIComponent-Methode codiert die folgenden Zeichen nicht: ASCII-Buchstaben, Zahlen, ~!*()'
EncodeURIComponent verfügt also über einen größeren Codierungsbereich als encodeURI.
Als praktisches Beispiel kodiert encodeURIComponent http:// in http%3A%2F%2F, encodeURI jedoch nicht.

Das Wichtigste ist, welche Methode ich in welcher Situation anwenden soll.

Lassen Sie uns darüber sprechen Praxisbeispiele.

1. Wenn es sich nur um eine codierte Zeichenfolge handelt und nichts mit der URL zu tun hat, verwenden Sie Escape.
2. Wenn Sie die gesamte URL kodieren und dann diese URL verwenden müssen, verwenden Sie encodeURI.

Zum Beispiel wird

encodeURI("//m.sbmmt.com/season-huang/some other thing");
Nach dem Login kopieren

nach der Kodierung zu

"//www.m.sbmmt.com/season-huang/some%20other%20thing";
Nach dem Login kopieren

, wobei Leerzeichen als %20 kodiert werden. Wenn Sie jedoch encodeURIComponent verwenden, lautet das Ergebnis:

"http%3A%2F%2Fwww.jb51.net%2Fseason-huang%2Fsome%20other%20thing"

Sehen Sie den Unterschied Ja, sogar „/“ wird codiert und die gesamte URL ist nicht mehr verwendbar. ​

3. Wenn Sie Parameter in der URL kodieren müssen, ist encodeURIComponent der beste Weg.

var param = "//m.sbmmt.com/season-huang/"; //param为参数
param = encodeURIComponent(param);
var url = "//m.sbmmt.com?next=" + param;
console.log(url) ////m.sbmmt.com?next=http%3A%2F%2Fwww.jb51.net%2Fseason-huang%2F
Nach dem Login kopieren

Ich habe es gesehen, das „/“ im Parameter kann codiert werden. Wenn Sie encodeURI verwenden, wird es definitiv ein Problem geben, da das Folgende / codiert werden muss.

Das Obige ist der gesamte Inhalt dieses Kapitels. Weitere verwandte Tutorials finden Sie unter JavaScript-Video-Tutorial!

Das obige ist der detaillierte Inhalt vonEinfache und klare Unterscheidung zwischen Escape, encodeURI und encodeURIComponent. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jb51.net
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!