Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

URIError: malformed URI sequence

Message

URIError: The URI to be encoded contains invalid character (Edge)
URIError: malformed URI sequence (Firefox)
URIError: URI malformed (Chrome)

Type d'erreur

URIError

Quel 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 exception URIError sera levée si on tente d'encoder un caractère surrogate qui ne fait pas partie d'une paire de codets :

js
encodeURI("\uD800");
// "URIError: malformed URI sequence"

encodeURI("\uDFFF");
// "URIError: malformed URI sequence"

En revanche, si on dispose de la paire de codets :

js
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 :

js
decodeURIComponent("%E0%A4%A");
// "URIError: malformed URI sequence"

Avec la valeur d'entrée correcte, on a généralement quelque chose qui ressemble à :

js
decodeURIComponent("JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B");
// "JavaScript_шеллы"

Voir aussi