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.
Please take two minutes to fill out our short survey.
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 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 # interface-textdecoder |
Browser-Kompatibilität
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