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 Standard
# interface-textdecoder

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch