Signatur
Beschreibung
Die Funktion decodeURI() dekodiert einen Uniform Resource Identifier (URI), der zuvor mit encodeURI() oder einer ähnlichen Routine erstellt wurde.
decodeURI() ist eine Funktionseigenschaft des globalen Objekts.
Die Funktion decodeURI() dekodiert den URI, indem sie jede Escape-Sequenz der Form %XX als eine UTF-8-Code-Einheit (ein Byte) behandelt. In UTF-8 gibt die Anzahl der führenden 1-Bits im ersten Byte, die 0 (für 1-Byte-ASCII-Zeichen), 2, 3 oder 4 sein kann, die Anzahl der Bytes im Zeichen an. Durch Lesen der ersten Escape-Sequenz kann decodeURI() also bestimmen, wie viele weitere Escape-Sequenzen zu konsumieren sind. Wenn decodeURI() die erwartete Anzahl von Sequenzen nicht findet oder die Escape-Sequenzen kein gültiges UTF-8-Zeichen kodieren, wird ein URIError geworfen.
decodeURI() dekodiert alle Escape-Sequenzen, aber wenn die Escape-Sequenz eines der folgenden Zeichen kodiert, wird die Escape-Sequenz im Ausgabestring beibehalten (da sie Teil der URI-Syntax sind):
; / ? : @ & = + $ , #
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $encodedURI Pflicht | string | — | Ein vollständiger, kodierter Uniform Resource Identifier. |
Rückgabewert
Beispiele
Dekodieren einer kyrillischen URL
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() vs. decodeURIComponent()
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"
Fehler abfangen
try {
const a = decodeURI("%E0%A4%A");
} catch (e) {
console.error(e);
}
// URIError: malformed URI sequence
// Wichtig · Fallstricke
URIError, wenn encodedURI ein % enthält, dem nicht zwei hexadezimale Ziffern folgen, oder wenn die Escape-Sequenz kein gültiges UTF-8-Zeichen kodiert.