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

decodeURI() - JavaScript | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

decodeURI()

Baseline Weitgehend verfgbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.

Die decodeURI()-Funktion dekodiert einen Uniform Resource Identifier (URI), der zuvor durch encodeURI() oder eine hnliche Routine erstellt wurde.

In diesem Artikel

Probieren Sie es aus

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

js
decodeURI(encodedURI)

Parameter

encodedURI

Ein vollstndiger, kodierter Uniform Resource Identifier.

Rckgabewert

Eine neue Zeichenkette, die die unkodierte Version des angegebenen kodierten Uniform Resource Identifiers (URI) darstellt.

Ausnahmen

URIError

Wird ausgelst, wenn encodedURI ein % enthlt, dem nicht zwei hexadezimale Ziffern folgen, oder wenn die Escape-Sequenz keinen gltigen UTF-8-Zeichensatz kodiert.

Beschreibung

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 fhrenden 1-Bits im ersten Byte, das 0 (fr 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 mssen. Wenn decodeURI() die erwartete Anzahl von Sequenzen nicht findet, oder wenn die Escape-Sequenzen keinen gltigen UTF-8-Zeichensatz kodieren, wird ein URIError ausgelst.

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

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() vs. decodeURIComponent()

decodeURI() geht davon aus, dass die Eingabe ein vollstndiger URI ist, daher dekodiert es keine Zeichen, die Teil der URI-Syntax sind.

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"

Fehler abfangen

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

// URIError: malformed URI sequence

Spezifikationen

Spezifikation
ECMAScript 2027 LanguageSpecification
# sec-decodeuri-encodeduri

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page