Il existe plusieurs façons de coder les chaînes d'URL dans JavaScript: Escape (), Encodeuri () et EncodeuRIComponent (). Les rôles de ces encodages varient.
Méthode Escape ():
La chaîne spécifiée est codée à l'aide du jeu de caractères Latin ISO. Tous les caractères de l'espace, les marques de ponctuation, les caractères spéciaux et autres caractères non ASCII seront convertis en codage de caractères% xx (xx est égal au nombre hexadécimal du caractère codé dans la table de jeu de caractères). Par exemple, le codage correspondant du caractère de l'espace est% 20.
Caractères qui ne seront pas encodés par cette méthode: @ * / +
Méthode encodeuri ():
Convertissez les chaînes URI en chaînes de format d'échappement au format de codage UTF-8.
Caractères qui ne seront pas encodés par cette méthode :! @ # $ & * () =: /; ? + '
Méthode encodeuRIComponent ():
Convertissez les chaînes URI en chaînes de format d'échappement au format de codage UTF-8. Par rapport à Encodeuri (), cette méthode codera plus de caractères, tels que / etc. Par conséquent, si la chaîne contient plusieurs parties de l'URI, cette méthode ne peut pas être utilisée pour le coder, sinon l'URL affichera une erreur après l'encodage du caractère.
Caractères qui ne seront pas encodés par cette méthode :! * () '
Par conséquent, pour les chaînes chinoises, si vous ne souhaitez pas convertir le format de codage de chaîne en format UTF-8 (par exemple, lorsque le charme de la page d'origine et la page cible sont les mêmes), il vous suffit d'utiliser Escape. Si votre page est GB2312 ou un autre codage, et que la page qui accepte les paramètres est un codage UTF-8, vous devez utiliser Encodéuri ou EncodeuriComponent.
De plus, Encodeuri / EncodeuriComponent a été introduit après JavaScript 1.5, tandis que Escape était disponible dans la version JavaScript 1.0.