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 Decoder für eine spezifische Textkodierung, wie UTF-8, ISO-8859-2, KOI8-R, GBK, etc. Ein Decoder nimmt einen Byte-Strom als Eingabe und gibt einen JavaScript-String zurück.

Konstruktor

TextDecoder()

Gibt einen neu konstruierten TextDecoder zurück, der einen Code-Punkt-Strom mit der im Parameter spezifizierten Dekodierungsmethode erzeugt.

Instanz-Eigenschaften

Das TextDecoder-Interface erbt keine Eigenschaften.

TextDecoder.encoding Schreibgeschützt

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

TextDecoder.fatal Schreibgeschützt

Ein Boolean, der anzeigt, ob der Fehlermodus fatal ist.

TextDecoder.ignoreBOM Schreibgeschützt

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

Instanz-Methoden

Das TextDecoder-Interface erbt keine Methoden.

TextDecoder.decode()

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

Beispiele

Darstellung von Text mit getypten Arrays

Dieses Beispiel zeigt, wie ein chinesisches/japanisches Zeichen Chinesisches Zeichen für Glück dekodiert wird, das durch fünf verschiedene getypte Arrays repräsentiert wird: 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 spezifizieren wir die Windows-1251-Zeichenkodierung, die für 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

Siehe auch