TextDecoder
Note:This feature is available inWeb Workers.
TheTextDecoder
interface represents a decoder for a specific text encoding, such asUTF-8
,ISO-8859-2
,KOI8-R
,GBK
,etc. A decoder takes a stream of bytes as input and emits a stream of code points.
Constructor
TextDecoder()
-
Returns a newly constructed
TextDecoder
that will generate a code point stream with the decoding method specified in parameters.
Instance properties
TheTextDecoder
interface doesn't inherit any properties.
TextDecoder.encoding
Read only-
A string containing the name of the decoder, which is a string describing the method the
TextDecoder
will use. TextDecoder.fatal
Read only-
A
Boolean
indicating whether the error mode is fatal. TextDecoder.ignoreBOM
Read only-
A
Boolean
indicating whether thebyte order markis ignored.
Instance methods
TheTextDecoder
interface doesn't inherit any methods.
TextDecoder.decode()
-
Returns a string containing the text decoded with the method of the specific
TextDecoder
object.
Examples
Representing text with typed arrays
This example shows how to decode a Chinese/Japanese character
,as represented by five different typed arrays:Uint8Array
,Int8Array
,Uint16Array
,Int16Array
,andInt32Array
.
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));
Handling non-UTF8 text
In this example, we decode the Russian text "Привет, мир!", which means "Hello, world." In ourTextDecoder()
constructor, we specify the Windows-1251 character encoding, which is appropriate for Cyrillic script.
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)); // Привет, мир!
Specifications
Specification |
---|
Encoding Standard #interface-textdecoder |
Browser compatibility
BCD tables only load in the browser
See also
- The
TextEncoder
interface describing the inverse operation. - Ashimallowing to use this interface in browsers that do not support it.
- Node.js supports global export from v11.0.0