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)“.
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], '%u00' + code); } } } text = text.replace('%25', '%u0025'); 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!