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: Dieses Feature ist verfügbar in Web Workers.
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
Nur lesbar-
Ein String, der den Namen des Dekodierers enthält, welcher die Methode beschreibt, die der
TextDecoder
verwenden wird. TextDecoder.fatal
Nur lesbar-
Ein
Boolean
-Wert, der angibt, ob der Fehlermodus fatal ist. TextDecoder.ignoreBOM
Nur lesbar-
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
dekodiert, dargestellt durch fünf verschiedene typisierte Arrays: Uint8Array
, Int8Array
, Uint16Array
, Int16Array
, und Int32Array
.
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.
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
- Das
TextEncoder
Interface, das die inverse Operation beschreibt. - Ein Shim, das es ermöglicht, dieses Interface in Browsern zu verwenden, die es nicht unterstützen.
- Node.js unterstützt den globalen Export ab v11.0.0