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 dekodiert wird, das durch fünf verschiedene getypte Arrays repräsentiert wird:
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 spezifizieren wir die Windows-1251-Zeichenkodierung, die für 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 # interface-textdecoder |
Browser-Kompatibilität
Siehe auch
- Das
TextEncoder
-Interface, das die inverse Operation beschreibt. - Ein Shim, der 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