Baseline Widely available
Die decodeURI()
-Funktion dekodiert einen Uniform Resource Identifier (URI), der zuvor durch encodeURI()
oder eine ähnliche Routine erstellt wurde.
const uri = "https://mozilla.org/?x=ÑеллÑ";
const encoded = encodeURI(uri);
console.log(encoded);
// Expected output: "https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"
try {
console.log(decodeURI(encoded));
// Expected output: "https://mozilla.org/?x=ÑеллÑ"
} catch (e) {
// Catches a malformed URI
console.error(e);
}
Syntax Parameter
encodedURI
Ein vollständiger, kodierter Uniform Resource Identifier.
Eine neue Zeichenkette, die die unkodierte Version des angegebenen kodierten Uniform Resource Identifiers (URI) darstellt.
AusnahmenURIError
Wird ausgelöst, wenn encodedURI
ein %
enthält, dem nicht zwei hexadezimale Ziffern folgen, oder wenn die Escape-Sequenz keinen gültigen UTF-8-Zeichensatz kodiert.
decodeURI()
ist eine Funktions-Eigenschaft des globalen Objekts.
Die decodeURI()
-Funktion dekodiert den URI, indem sie jede Escape-Sequenz in der Form %XX
als eine UTF-8-Codeeinheit (ein Byte) behandelt. In UTF-8 gibt die Anzahl der führenden 1-Bits im ersten Byte, das 0 (für 1-Byte-ASCII-Zeichen), 2, 3 oder 4 betragen kann, die Anzahl der Bytes im Zeichen an. Durch das Lesen der ersten Escape-Sequenz kann decodeURI()
bestimmen, wie viele weitere Escape-Sequenzen verarbeitet werden müssen. Wenn decodeURI()
die erwartete Anzahl von Sequenzen nicht findet, oder wenn die Escape-Sequenzen keinen gültigen UTF-8-Zeichensatz kodieren, wird ein URIError
ausgelöst.
decodeURI()
dekodiert alle Escape-Sequenzen, aber wenn die Escape-Sequenz eines der folgenden Zeichen kodiert, bleibt die Escape-Sequenz im Ausgabestring erhalten (da sie Teil der URI-Syntax sind):
; / ? : @ & = + $ , #Beispiele Dekodierung 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()
geht davon aus, dass die Eingabe ein vollständiger URI ist, daher dekodiert es keine Zeichen, die Teil der URI-Syntax sind.
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
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4