Il existe trois fonctions en JavaScript qui peuvent coder des chaînes, à savoir: Escape, Encodéuri, Encodéuri et EncodeuriComponent. Les trois fonctions de décodage correspondantes: Unescape, Decodeuri et DeccodeuriComponent.
Voici une brève introduction à leurs différences:
1 fonction Escape ()
Définition et utilisation
La fonction Escape () code une chaîne afin que la chaîne puisse être lue sur tous les ordinateurs.
grammaire
Escape (String)
Description du paramètre
chaîne requise. La chaîne à échapper ou encodée.
Valeur de retour
Une copie de la chaîne codée. Certains de ces personnages sont remplacés par des séquences d'échappement hexadécimales.
illustrer
Cette méthode n'encode pas les lettres et les nombres ASCII, pas plus que les marques de ponctuation ASCII suivantes: - _. ! ~ * '(). Tous les autres caractères seront remplacés par des séquences échappées.
2 Fonction encodéuri ()
Définition et utilisation
La fonction Encodeuri () peut coder des chaînes sous forme d'uris.
grammaire
encodéuri (uristring)
Description du paramètre
Uristring requis. Une chaîne contenant un URI ou un autre texte à coder.
Valeur de retour
Une copie de l'uristring, dont certaines sont remplacées par une séquence d'évasion hexadécimale.
illustrer
Cette méthode n'encode pas les lettres et les nombres ASCII, ni ne codent ces marques de ponctuation ASCII: - _. ! ~ * '().
Le but de cette méthode est de coder entièrement l'URI, de sorte que la fonction Encodeuri () n'échappera pas aux marques de ponctuation ASCII suivantes avec une signification particulière dans l'uri :; / ?: @ & = + $, #
3 Fonction encodeuriComponent ()
Définition et utilisation
La fonction EncodeuRIComponent () peut coder des chaînes sous forme de composants URI.
grammaire
EncodeuriComponent (uristring)
Description du paramètre
Uristring requis. Une chaîne contenant un composant URI ou un autre texte à coder.
Valeur de retour
Une copie de l'uristring, dont certaines sont remplacées par une séquence d'évasion hexadécimale.
illustrer
Cette méthode n'encode pas les lettres et les nombres ASCII, ni ne codent ces marques de ponctuation ASCII: - _. ! ~ * '().
D'autres caractères (tels que :; / ?: @ & = + $, # Ces marques de ponctuation utilisées pour séparer les composants URI) sont remplacées par une ou plusieurs séquences d'échappement hexadécimales.
Conseils et commentaires
CONSEIL: Remarquez la différence entre la fonction EncodeuRIComponent () et la fonction Encodeuri (). Le premier suppose que ses paramètres font partie de l'URI (comme le protocole, le nom d'hôte, le chemin ou la chaîne de requête). Par conséquent, la fonction EncodeuriComponent () échappera aux marques de ponctuation utilisées pour séparer les parties individuelles de l'URI.
4 Résumé:
Grâce à l'analyse des trois fonctions, nous pouvons savoir que Escape () échappe à toutes les chaînes passées, à l'exception des lettres ASCII, des nombres et des symboles spécifiques. Par conséquent, si vous souhaitez coder l'URL, il est préférable de ne pas utiliser cette méthode. Encodeuri () est utilisé pour coder tout l'URI car aucun des caractères juridiques de l'URI ne sera codé et converti. La méthode EncodeuriComponent doit être la plus couramment utilisée lors du codage d'un seul Uricomponent (se référant au paramètre de demande). Il peut échapper aux caractères chinois et spéciaux dans les paramètres sans affecter toute l'URL.
5 exemples:
1 Escape ()
<script type = "text / javascript"> document.write (Escape ("http://www.w3school.com.cn/") + "<br />") document.write (Escape ("?! = () #% &")) </ script>Sortir:
http% 3a // www.w3school.com.cn% 3f% 21% 3d% 28% 29% 23% 25% 26
2 encodéuri ()
<script type = "text / javascript"> document.write (encodeuri ("http://www.w3school.com.cn/") + "<br />")Document.write(encoceuri("http://www.w3school.com.cn/my First / ")) document.write (Encodeuri (", / ?: @ & = + $ # ")) </cript>Sortir:
http://www.w3school.com.cn/http://www.w3school.com.cn/my%20First/ ,/?:@&=+$ °
L'URL entière est codée et l'identifiant spécifique de l'URL n'est pas transcodé.
3 EncodeuriComponent ()
Exemple 1:
<script type = "text / javascript"> document.write (encodeuriComponent ("http://www.w3school.com.cn/")) document.write ("<br />")Document.write(encodeuriComponent("http://www.w3school.com.cn/p 1 /") document (brot /> ") document.write (EncodeuRIComponent (", / ?: @ & = + $ # ")) </cript>Sortir:
http% 3a% 2f% 2fwww.w3school.com.cnhttp% 3a% 2f% 2fww.w3school.com.cn% 2fp% 201% 2f% 2c% 2f% 3f% 3a% 40% 26% 3D% 2B% 24% 23
Exemple 2:
<script linguisse = "javascript"> document.write ('<a href = "http://passport.baidu.com/?logout&aid=7&u='+encodeuriComponent (" rel = "external nofollow" http://cang.baidu.com/bruce42")+'">xit </a>');Encoder les paramètres dans l'URL, car les paramètres sont également une URL, si ce n'est pas codé, cela affectera le saut de l'URL entière.