Heim  >  Artikel  >  Web-Frontend  >  JS-Kodierungs-/Dekodierungsanalyse von URL-Strings

JS-Kodierungs-/Dekodierungsanalyse von URL-Strings

高洛峰
高洛峰Original
2017-02-04 09:33:031245Durchsuche

Obwohl die drei Methoden escape(), encodeURI() und encodeURIComponent() einige spezielle
Zeichen filtern können, die sich auf die Integrität der URL auswirken. Allerdings konvertieren die beiden letztgenannten Zeichenfolgen zur Übertragung in UTF-8, wodurch das Problem verstümmelter Zeichen gelöst wird, die durch unterschiedliche Seitenkodierungen verursacht werden
. Beispiel: Das Codierungsformat (Charset) der Sendeseite und der Empfangsseite sind inkonsistent (vorausgesetzt, die Sendeseite ist GB2312 und die Codierung der Empfangsseite ist
UTF-8). Verwenden Sie escape (), um Chinesisch zu konvertieren und zu übertragen Zeichenfolgen führen zu verstümmelten Zeichen.
Im Folgenden sind verschiedene Methoden zum Kodieren/Dekodieren von URLs unter JS aufgeführt:
Escape-Methode: Gibt ein kodiertes String-Objekt zurück, das auf allen Computern gelesen werden kann.
function escape(charString : String) : String
Zeichen, die von dieser Methode nicht codiert werden: @ * / +
Beschreibung: Die Escape-Methode gibt einen String-Wert (Unicode-Format) zurück, der den Inhalt von charstring enthält . Alle Leerzeichen, Satzzeichen,
-Akzente und alle anderen Nicht-ASCII-Zeichen werden durch die %xx-Kodierung ersetzt, wobei xx der Hexadezimalzahl entspricht, die das Zeichen darstellt.
Zum Beispiel wird ein Leerzeichen als „%20“ zurückgegeben. (Zeichenwerte größer als 255 werden im %uxxxx-Format gespeichert.)
Hinweis: Die Escape-Methode kann nicht zum Codieren von Uniform Resource Identifiers (URIs) verwendet werden. Um es zu kodieren, verwenden Sie die Methoden encodeURI und
encodeURIComponent.
encodeURI-Methode: Gibt eine Zeichenfolge zurück, die als gültiger Uniform Resource Identifier (URI) codiert ist.
function encodeURI(URIString : String) : String
Zeichen, die von dieser Methode nicht codiert werden: ! @ # $ & * ( ) = : / ;
Beschreibung: Die encodeURI-Methode gibt eine zurück codierter URI. Wenn das Codierungsergebnis an decodeURI übergeben wird, wird die anfängliche
-Zeichenfolge zurückgegeben. encodeURI codiert die folgenden Zeichen nicht: „:“, „/“, „;“ und „?“. Bitte verwenden Sie
encodeURIComponent, um diese Zeichen zu kodieren.
encodeURIComponent-Methode: Gibt eine Zeichenfolge zurück, die eine gültige Komponente als Uniform Resource Identifier (URI) kodiert.
Funktion encodeURIComponent(encodedURIString : String) : String
Zeichen, die von dieser Methode nicht codiert werden: ! * ( ) '
Beschreibung: Die encodeURIComponent-Methode gibt einen codierten URI zurück. Wenn das Codierungsergebnis an
decodeURIComponent übergeben wird, wird die ursprüngliche Zeichenfolge zurückgegeben. Da die encodeURIComponent-Methode alle Zeichen
codiert, beachten Sie bitte, dass, wenn die Zeichenfolge einen Pfad darstellt, z. B. /folder1/folder2/default.html, die darin enthaltenen Schrägstriche ebenfalls
codiert werden. Wenn also die Zeichenfolge The Die Zeichenfolge ist ungültig, wenn sie als Anfrage an den Webserver gesendet wird. Wenn die Zeichenfolge mehrere URI-
-Komponenten enthält, verwenden Sie zum Codieren bitte die Methode encodeURI.
unescape-Methode: Gibt die decodierte Zeichenfolge von einem String-Objekt zurück, das mit der Escape-Methode codiert wurde.
function unescape(charString : String) : String
Beschreibung: Die unescape-Methode gibt einen String-Wert zurück, der den Inhalt von charstring enthält. Alle in der Hexadezimalform %xx kodierten
-Zeichen werden durch entsprechende Zeichen im ASCII-Zeichensatz ersetzt. (Im %uxxxx-Format (Unicode-Zeichen) kodierte Zeichen werden durch Unicode-Zeichen in der hexadezimalen Kodierung xxxx ersetzt.)
Hinweis: Die unescape-Methode sollte nicht zum Dekodieren von Uniform Resource Identifiers (URIs) verwendet werden. Bitte verwenden Sie stattdessen die Methoden decodeURI und
decodeURIComponent.
decodeURI-Methode: Gibt eine unverschlüsselte Form eines kodierten Uniform Resource Identifier (URI) zurück.
Funktion decodeURI(URIstring : String) : String
decodeURIComponent-Methode: Gibt die uncodierte Form einer codierten Komponente eines Uniform Resource Identifier (URI) zurück.
Funktion decodeURIComponent(encodedURIString : String) : String
Übrigens: Methode zum Codieren von URLs in C#. . .
Kodierung: Server.UrlEncode(string)
Dekodierung: Server.UrlDecode(string) Mit dieser Methode können die ersten drei clientseitigen Kodierungen im Hintergrund dekodiert werden.

Weitere Artikel zur JS-Codierungs-/Decodierungsanalyse von URL-Strings finden Sie auf der chinesischen PHP-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