Maison  >  Article  >  interface Web  >  Comment encoder et convertir des chaînes javascript

Comment encoder et convertir des chaînes javascript

青灯夜游
青灯夜游original
2021-04-19 15:14:579434parcourir

Méthodes d'encodage et de conversion des chaînes JavaScript : 1. Utilisez la fonction escape() pour encoder les chaînes afin qu'elles soient lisibles sur tous les ordinateurs, avec la syntaxe "escape(string)" ; ), fonction, syntaxe "unescape(string)".

Comment encoder et convertir des chaînes javascript

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

1. La méthode d'échappement

encode les objets String afin qu'ils puissent être lisibles sur tous les ordinateurs,

escape(charString)

Le paramètre charstring requis doit être encodé N'importe quel objet String ou littéral.

Description : La méthode

escape renvoie une valeur de chaîne (format Unicode) contenant le contenu de charstring. Tous les espaces, signes de ponctuation, accents et autres caractères non-ASCII sont remplacés par le codage %xx, où xx est égal au nombre hexadécimal représentant le caractère. Par exemple, un espace renvoie « %20 ». Les valeurs de caractères supérieures à 255 sont stockées au format %uxxxx.

Remarque : La méthode :escape ne peut pas être utilisée pour encoder des identifiants de ressources uniformes (URI). Pour l'encoder, utilisez les méthodes encodeURI et encodeURIComponent.

2. La méthode unescape

Décode l'objet String encodé avec la méthode escape.

unescape(charstring)

Le paramètre charstring requis est l'objet String à décoder.

Description :

La méthode unescape renvoie une valeur de chaîne contenant le contenu de charstring. Tous les caractères codés au format hexadécimal %xx sont remplacés par des caractères équivalents dans le jeu de caractères ASCII. Les caractères codés au format %uxxxx (caractères Unicode) sont remplacés par des caractères Unicode avec un codage hexadécimal xxxx

Remarque : la méthode unescape ne peut pas être utilisée pour décoder les identifiants de ressources uniformes (URI). Pour décoder ce code, vous pouvez utiliser les méthodes decodeURI et decodeURIComponent

Lorsque AJAX utilise des requêtes GET pour transmettre des chaînes chinoises, les chaînes chinoises doivent également être codées en Unicode. Généralement, la fonction intégrée escape() de. JS est utilisé. Cependant, il existe une meilleure fonction pour déterminer la conversion des caractères chinois en codage Unicode comme suit

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; 
}

Bien sûr, le côté serveur doit effectuer un deuxième transcodage sur la chaîne codée Convert. la chaîne en encodage UTF-8

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)); 
} 
}

[Apprentissage recommandé : Tutoriel avancé javascript]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn