Maison >interface Web >js tutoriel >Comparaison de plusieurs méthodes d'encodage d'URL dans les compétences Javascript_javascript
Il existe plusieurs méthodes pour encoder des chaînes d'URL en JavaScript : escape(), encodeURI() et encodeURIComponent(). Ces encodages jouent différents rôles.
Méthode escape() :
Utilisez le jeu de caractères latins ISO pour coder la chaîne spécifiée. Tous les espaces, signes de ponctuation, caractères spéciaux et autres caractères non-ASCII seront convertis en codage de caractères au format %xx (xx est égal au nombre hexadécimal de codage du caractère dans la table des jeux de caractères). Par exemple, le codage correspondant au caractère espace est .
Caractères qui ne seront pas encodés par cette méthode : @* /
Méthode encodeURI() :
Convertissez la chaîne URI en chaîne au format d'échappement en utilisant le format d'encodage UTF-8.
Caractères qui ne seront pas encodés par cette méthode : ! @ # $& * ( ) = '
Méthode encodeURIComponent() :
Convertissez la chaîne URI en chaîne au format d'échappement en utilisant le format d'encodage UTF-8. Par rapport à encodeURI(), cette méthode encodera plus de caractères, tels que / et d'autres caractères. Ainsi, si la chaîne contient plusieurs parties de l'URI, vous ne pouvez pas utiliser cette méthode pour encoder, 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 d'encodage de chaîne au format UTF-8 (par exemple, lorsque le jeu de caractères de la page d'origine et de la page cible est le même), il vous suffit d'utiliser s'échapper. Si votre page est encodée en GB2312 ou autre et que la page qui accepte les paramètres est encodée en UTF-8, vous devez utiliser encodeURI ou encodeURIComponent.
De plus, encodeURI/encodeURIComponent a été introduit après javascript1.5 et l'échappement était disponible dans javascript1.0.