Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung der Methoden zum Codieren von Strings in js

Zusammenfassung der Methoden zum Codieren von Strings in js

高洛峰
高洛峰Original
2016-12-07 11:12:571061Durchsuche

Bei der Codierung von URL-Strings mit JavaScript können die drei Methoden escape(), encodeURI() und encodeURIComponent() zwar einige Sonderzeichen filtern, die sich auf die Integrität der URL auswirken.

Aber die beiden letztgenannten konvertieren Zeichenfolgen zur Übertragung in UTF-8, wodurch das Problem verstümmelter Zeichen gelöst wird, die durch inkonsistente Seitencodierung verursacht werden.

Zum Beispiel: Das Codierungsformat (Charset) der sendenden Seite und der empfangenden Seite sind inkonsistent (vorausgesetzt, die sendende Seite ist GB2312 und die empfangende Seite ist UTF-8), und zum Konvertieren wird escape() verwendet und die Übertragung chinesischer Zeichenfolgen führt zu verstümmelten Zeichen.

Im Folgenden sind verschiedene Methoden zum Kodieren/Dekodieren von URLs unter JS aufgeführt:

1. 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: @ * / +

Erklärung: Die Escape-Methode gibt einen Zeichenstring zurück, der Folgendes enthält der Inhaltszeichenfolgenwert (Unicode-Format). 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.

Leerzeichen werden beispielsweise als „%20“ zurückgegeben. (Zeichenwerte größer als 255 werden im %uxxxx-Format gespeichert.)

Hinweis: Die Escape-Methode kann nicht zum Codieren eines Uniform Resource Identifier (URI) verwendet werden. Es sollte mit den Methoden encodeURI und encodeURIComponent codiert werden.

2. encodeURI-Methode: Gibt eine als gültigen Uniform Resource Identifier (URI) codierte Zeichenfolge zurück.

function encodeURI(URIString : String) : String

Zeichen, die mit dieser Methode nicht codiert werden: ! @ # $ & * ( ) = : / ? 🎜 >Beschreibung: Die Methode encodeURI gibt einen codierten URI zurück. Wenn das Codierungsergebnis an decodeURI übergeben wird, wird die ursprüngliche Zeichenfolge zurückgegeben. encodeURI codiert die folgenden Zeichen nicht: „:“, „/“, „;“ und „?“. Bitte verwenden Sie

encodeURIComponent, um diese Zeichen zu kodieren.

3. encodeURIComponent-Methode: Gibt eine Zeichenfolge zurück, die eine gültige Komponente eines 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 Wert zurück URI. Wenn das Codierungsergebnis an decodeURIComponent übergeben wird, wird die Anfangszeichenfolge zurückgegeben. Da die encodeURIComponent-Methode alle Zeichen codiert,

Bitte beachten Sie, dass, wenn die Zeichenfolge einen Pfad darstellt, wie z. B. /folder1/folder2/default.html, auch die darin enthaltenen Schrägstriche codiert werden, sodass beim 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 die Methode encodeURI, um sie zu codieren.

4. unescape-Methode: Gibt die dekodierte Zeichenfolge aus dem mit der Escape-Methode kodierten String-Objekt zurück.

function unescape(charString : String) : String

Beschreibung: Die unescape-Methode gibt einen String-Wert zurück, der den Inhalt von charstring enthält. Alle in %xx hexadezimaler Form codierten

-Zeichen werden durch entsprechende Zeichen aus dem ASCII-Zeichensatz ersetzt. (Im %uxxxx-Format kodierte Zeichen (Unicode-Zeichen) werden durch Unicode-Zeichen in der hexadezimalen Kodierung xxxx ersetzt.)

Hinweis: Die unescape-Methode sollte nicht zum Dekodieren von „Uniform Resource Identifiers“ (URI) verwendet werden. Bitte verwenden Sie stattdessen die Methoden decodeURI und decodeURIComponent.

5. 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 zur Codierung von URLs in C#. . .

Kodierung: Server.UrlEncode(string)

Dekodierung: Server.UrlDecode(string) Alle vorherigen drei clientseitigen Kodierungen können mit dieser Methode im Hintergrund dekodiert werden.

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