Heim  >  Artikel  >  Web-Frontend  >  So kodieren und konvertieren Sie Javascript-Strings

So kodieren und konvertieren Sie Javascript-Strings

青灯夜游
青灯夜游Original
2021-04-19 15:14:579434Durchsuche

So konvertieren Sie JavaScript-Strings: 1. Verwenden Sie die Funktion escape(), um die Strings so zu kodieren, dass sie auf allen Computern lesbar sind. Die Syntax lautet „escape(string)“. 2. Verwenden Sie die Syntax der Funktion unescape() „unescape(string)“.

So kodieren und konvertieren Sie Javascript-Strings

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

1. Die Escape-Methode

codiert String-Objekte, sodass sie auf allen Computern lesbar sind.

escape(charString)

Erforderlicher Zeichenkettenparameter ist ein beliebiges String-Objekt oder Text, der codiert werden soll.

Beschreibung:

Die Escape-Methode gibt einen Zeichenfolgenwert (Unicode-Format) zurück, der den Inhalt der Zeichenfolge enthält. Alle Leerzeichen, Satzzeichen, Akzente und andere Nicht-ASCII-Zeichen werden durch die Codierung %xx ersetzt, wobei xx der Hexadezimalzahl entspricht, die das Zeichen darstellt. Ein Leerzeichen gibt beispielsweise „%20“ zurück. 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.

2. Die unescape-Methode

dekodiert das mit der Escape-Methode kodierte String-Objekt.

unescape(charstring)

Der erforderliche Charstring-Parameter ist das zu dekodierende String-Objekt.

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 kodierte Zeichen (Unicode-Zeichen) werden durch Unicode-Zeichen mit hexadezimaler Kodierung xxxx ersetzt.

Hinweis: Die Unescape-Methode kann nicht zum Dekodieren von Uniform Resource Identifiers (URIs) verwendet werden. Um diesen Code zu dekodieren, können Sie die Methoden decodeURI und decodeURIComponent verwenden.

Wenn AJAX eine GET-Anfrage verwendet, um eine chinesische Zeichenfolge zu übergeben, muss es auch die chinesische Zeichenfolge in Unicode codieren. Im Allgemeinen wird die integrierte Funktion escape() von JS verwendet. Aber ich habe eine bessere Funktion gefunden, um die Konvertierung chinesischer Zeichen in die Unicode-Codierung zu ermitteln:

function uniencode(text) 
{ 
text = escape(text.toString()).replace(/+/g, "%2B"); 
var matches = text.match(/(%([0-9A-F]{2}))/gi); 
if (matches) 
{ 
for (var matchid = 0; matchid < matches.length; matchid++) 
{ 
var code = matches[matchid].substring(1,3); 
if (parseInt(code, 16) >= 128) 
{ 
text = text.replace(matches[matchid], &#39;%u00&#39; + code); 
} 
} 
} 
text = text.replace(&#39;%25&#39;, &#39;%u0025&#39;); 
return text; 
}

Natürlich muss der Server die codierte Zeichenfolge ein zweites Mal umwandeln

function convert_int_to_utf8($intval) 
{ 
$intval = intval($intval); 
switch ($intval) 
{ 
// 1 byte, 7 bits 
case 0: 
return chr(0); 
case ($intval & 0x7F): 
return chr($intval); 
// 2 bytes, 11 bits 
case ($intval & 0x7FF): 
return chr(0xC0 | (($intval >> 6) & 0x1F)) . 
chr(0x80 | ($intval & 0x3F)); 
// 3 bytes, 16 bits 
case ($intval & 0xFFFF): 
return chr(0xE0 | (($intval >> 12) & 0x0F)) . 
chr(0x80 | (($intval >> 6) & 0x3F)) . 
chr (0x80 | ($intval & 0x3F)); 
// 4 bytes, 21 bits 
case ($intval & 0x1FFFFF): 
return chr(0xF0 | ($intval >> 18)) . 
chr(0x80 | (($intval >> 12) & 0x3F)) . 
chr(0x80 | (($intval >> 6) & 0x3F)) . 
chr(0x80 | ($intval & 0x3F)); 
} 
}

[Lernempfehlung: Javascript-Tutorial für Fortgeschrittene

Das obige ist der detaillierte Inhalt vonSo kodieren und konvertieren Sie Javascript-Strings. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen 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