TextDecoder

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Das TextDecoder Interface repräsentiert einen Dekodierer für eine bestimmte Textcodierung, wie UTF-8, ISO-8859-2, KOI8-R, GBK usw. Ein Dekodierer nimmt einen Byte-Strom als Eingabe und gibt einen Strom von Codepunkten aus.

Konstruktor

TextDecoder()

Gibt einen neu konstruierten TextDecoder zurück, der einen Codepunktstrom mit der im Parameter angegebenen Dekodiermethode erzeugt.

Instanz Eigenschaften

Das TextDecoder-Interface erbt keine Eigenschaften.

TextDecoder.encoding Schreibgeschützt

Ein String, der den Namen des Dekodierers enthält, welcher die Methode beschreibt, die der TextDecoder verwenden wird.

TextDecoder.fatal Schreibgeschützt

Ein Boolean-Wert, der angibt, ob der Fehlermodus fatal ist.

TextDecoder.ignoreBOM Schreibgeschützt

Ein Boolean-Wert, der angibt, ob das Byte-Order-Mark ignoriert wird.

Instanzmethoden

Das TextDecoder-Interface erbt keine Methoden.

TextDecoder.decode()

Gibt einen String zurück, der den mittels der Methode des spezifischen TextDecoder-Objekts dekodierten Text enthält.

Beispiele

Text mit typisierten Arrays darstellen

Dieses Beispiel zeigt, wie man ein chinesisch/japanisches Zeichen Chinesisches Zeichen, das Glück bedeutet dekodiert, dargestellt durch fünf verschiedene typisierte Arrays: Uint8Array, Int8Array, Uint16Array, Int16Array, und Int32Array.

js
let utf8decoder = new TextDecoder(); // default 'utf-8' or 'utf8'

let u8arr = new Uint8Array([240, 160, 174, 183]);
let i8arr = new Int8Array([-16, -96, -82, -73]);
let u16arr = new Uint16Array([41200, 47022]);
let i16arr = new Int16Array([-24336, -18514]);
let i32arr = new Int32Array([-1213292304]);

console.log(utf8decoder.decode(u8arr));
console.log(utf8decoder.decode(i8arr));
console.log(utf8decoder.decode(u16arr));
console.log(utf8decoder.decode(i16arr));
console.log(utf8decoder.decode(i32arr));

Umgang mit nicht-UTF8-Text

In diesem Beispiel dekodieren wir den russischen Text "Привет, мир!", was "Hallo, Welt." bedeutet. In unserem TextDecoder() Konstruktor geben wir die Windows-1251-Zeichenkodierung an, die für die kyrillische Schrift geeignet ist.

js
const win1251decoder = new TextDecoder("windows-1251");
const bytes = new Uint8Array([
  207, 240, 232, 226, 229, 242, 44, 32, 236, 232, 240, 33,
]);
console.log(win1251decoder.decode(bytes)); // Привет, мир!

Spezifikationen

Specification
Encoding
# interface-textdecoder

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
TextDecoder
TextDecoder() constructor
decode
encoding
fatal
ignoreBOM
Available in workers

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
See implementation notes.
Has more compatibility info.

Siehe auch