Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
URIError: malformed URI sequence
Message
URIError: The URI to be encoded contains invalid character (Edge)URIError: malformed URI sequence (Firefox)URIError: URI malformed (Chrome)
Dans cet article
Type d'erreur
URIErrorQuel est le problème ?
Il y a eu une erreur lors de l'encodage ou du décodage de l'URI. Un argument fourni àdecodeURI,encodeURI,encodeURIComponent ou àdecodeURIComponent n'était pas valide et la fonction concernée n'a pas pu encoder ou décoder la valeur correctement.
Exemples
>Encodage
L'encodage permet de remplacer certains caractères par une, deux, trois voire quatre séquences d'échappement qui représente l'encodage UTF-8 du caractère. Une exceptionURIError sera levée si on tente d'encoder un caractèresurrogate qui ne fait pas partie d'une paire de codets :
encodeURI("\uD800");// "URIError: malformed URI sequence"encodeURI("\uDFFF");// "URIError: malformed URI sequence"En revanche, si on dispose de la paire de codets :
encodeURI("\uD800\uDFFF");// "%F0%90%8F%BF"Décodage
Le décodage permet de remplacer chaque séquence d'échappement dans le composant encodé par le caractère qu'elle représente. S'il n'existe aucun caractère correspondant, une exception sera déclenchée :
decodeURIComponent("%E0%A4%A");// "URIError: malformed URI sequence"Avec la valeur d'entrée correcte, on a généralement quelque chose qui ressemble à :
decodeURIComponent("JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B");// "JavaScript_шеллы"