[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/decodeURI [Back]  [Original]

decodeURI() - JavaScript | MDN

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

decodeURI()

Baseline Large disponibilit

Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La fonction decodeURI() dcode un identifiant de ressource uniforme (URI) prcdemment cr par encodeURI() ou une routine similaire.

Dans cet article

Exemple interactif

const uri = "https://mozilla.org/?x=";
const encoded = encodeURI(uri);
console.log(encoded);
// Rsultat attendu : "https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"

try {
  console.log(decodeURI(encoded));
  // Rsultat attendu : "https://mozilla.org/?x="
} catch (e) {
  // Capture une URI mal forme
  console.error(e);
}

Syntaxe

js
decodeURI(encodedURI)

Paramtres

encodedURI

Un identifiant de ressource uniforme complet et encod.

Valeur de retour

Une nouvelle chane de caractres reprsentant la version non encode de l'identifiant de ressource uniforme (URI) fourni.

Exceptions

URIError

Leve si encodedURI contient un % qui n'est pas suivi de deux chiffres hexadcimaux, ou si la squence d'chappement n'encode pas un caractre UTF-8 valide.

Description

decodeURI() est une proprit fonction de l'objet global.

La fonction decodeURI() dcode l'URI en traitant chaque squence d'chappement de la forme %XX comme une unit de code UTF-8 (un octet). En UTF-8, le nombre de bits 1 en tte du premier octet, qui peut tre 0 (pour les caractres ASCII sur 1 octet), 2, 3 ou 4, indique le nombre d'octets du caractre. Ainsi, en lisant la premire squence d'chappement, decodeURI() peut dterminer combien d'autres squences d'chappement consommer. Si decodeURI() ne trouve pas le nombre attendu de squences, ou si les squences d'chappement n'encodent pas un caractre UTF-8 valide, une exception URIError est leve.

decodeURI() dcode toutes les squences d'chappement, mais si la squence encode l'un des caractres suivants, la squence d'chappement est conserve dans la chane de sortie (car ils font partie de la syntaxe URI) :

; / ? : @ & = + $ , #

Exemples

Dcoder une URL cyrillique

js
decodeURI(
  "https://developer.mozilla.org/ru/docs/JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B",
);
// "https://developer.mozilla.org/ru/docs/JavaScript_"

decodeURI() contre decodeURIComponent()

decodeURI() suppose que l'entre est une URI complte, donc il ne dcode pas les caractres qui font partie de la syntaxe de l'URI.

js
decodeURI(
  "https://developer.mozilla.org/docs/JavaScript%3A%20a_scripting_language",
);
// "https://developer.mozilla.org/docs/JavaScript%3A a_scripting_language"

decodeURIComponent(
  "https://developer.mozilla.org/docs/JavaScript%3A%20a_scripting_language",
);
// "https://developer.mozilla.org/docs/JavaScript: a_scripting_language"

Grer les exceptions

js
try {
  const a = decodeURI("%E0%A4%A");
} catch (e) {
  console.error(e);
}

// Lve une erreur "URIError: malformed URI sequence"

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# sec-decodeuri-encodeduri

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page