Codage d’URL
Certains caractères ne peuvent pas apparaître dans les URLs (par exemple les espaces), d’autres ont des significations particulières dans les URLs. Nous devons convertir des caractères spéciaux pour qu’ils respectent la syntaxe définie dans la spécification W3 URI (RFC 3986). Cela signifie que les URL doivent ne contenir qu’un sous-ensemble d’un caractère ASCII spécial : les lettres et chiffres que nous connaissons, ainsi que certains caractères réservés utilisés comme caractères de contrôle dans l’URL.
Traitement de l’encodage d’URL en JavaScript
En JavaScript, les fonctions intégrées encodeURIComponent() et encodeURI() peuvent être encodées par URL, remplaçant les caractères réservés de l’URL par leurs caractères codés en UTF-8.
La plupart des navigateurs encodent automatiquement les URL, comme l’encodage des espaces jusqu’à 20 %, mais il existe toujours quelques exceptions. Heureusement, les navigateurs proposent des fonctions intégrées d’encodage et de décodage d’URL : encodeURI, encodeURIComponent et decodeURI, decodeURIComponent. La question est de savoir comment utiliser ces fonctions, et quelle est la différence entre elles.
encodeURI()
Encoder une chaîne d’URL est simple, il suffit d’appeler l’encodeURI et de passer la chaîne que vous souhaitez encoder. Cette fonction renvoie l’URL encodée.
decodeURI()
Cette fonction décode et appelle la fonction decodeURI, en passant la chaîne encodée, puis elle retourne la chaîne normale décodée.
encodeURIComponent()
La fonction encodeURIComponent doit être utilisée pour encoder les valeurs des paramètres de la chaîne de requête. La différence entre encodeURI et encodeURIComponent est qu’encodeURIComponent encode toute la chaîne, tandis qu’encodeURI ignore le préfixe du protocole (« http:// ») ainsi que le nom de domaine. encodeURIComponent est conçu pour tout encoder, tandis qu’encodeURI ignore la partie nom de domaine de l’URL. Quand tuLorsque vous souhaitez coder la valeur du paramètre dans l’URL, sélectionnez la fonction encodeURIComponent。
decodeURIComponent()
La fonction decodeURIComponent décodera la chaîne encodée de la fonction encodeURIComponent et la restaurera à son contenu normal.
Révision:
|