This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The TextDecoder
interface represents a decoder for a specific method, that is a specific character encoding, like utf-8
, iso-8859-2
, koi8
, cp1261
, gbk
, etc. A decoder takes a stream of bytes as input and emits a stream of code points. For a more scalable, non-native library, see StringView
– a C-like representation of strings based on typed arrays.
Example
let win1251decoder = new TextDecoder('windows-1251'); let bytes = new Uint8Array([207, 240, 232, 226, 229, 242, 44, 32, 236, 232, 240, 33]); console.log(win1251decoder.decode(bytes)); // Привет, мир!
Constructor
TextDecoder()
- Returns a newly constructed
TextDecoder
that will generate a code point stream with the decoding method specified in parameters.
Properties
The TextDecoder
interface doesn't inherit any properties.
TextDecoder.encoding
Read only- Is a
DOMString
containing the name of the decoder, that is a string describing the method theTextDecoder
will use. TextDecoder.fatal
Read only- Is a
Boolean
indicating whether the error mode is fatal. TextDecoder.ignoreBOM
Read only- Is a
Boolean
indicating whether the byte order marker is ignored.
Methods
The TextDecoder
interface doesn't inherit any method.
TextDecoder.decode()
- Returns a
DOMString
containing the text decoded with the method of the specificTextDecoder
object.
Specifications
Specification | Status | Comment |
---|---|---|
Encoding The definition of 'TextDecoder' in that specification. |
Living Standard | Initial definition. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 38 | 19.0 (19.0) [1] | No support | 25 | 10.1 |
Available in Web Workers | 38 | 20.0 (20.0) | No support | 25 | ? |
Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | 38 | 38 | 19.0 (19.0) [1] | 1.0.1 (19.0) | No support | ? | No support |
Available in Web Workers | 38 | 38 | 20.0 (20.0) | 1.0.1 (20.0) | No support | ? | No support |
[1] An earlier, and slightly different, version of the specification was implemented in Firefox 18.
See also
- The
TextEncoder
interface describing the inverse operation. StringView
– a C-like representation of strings based on typed arrays- A shim allowing to use this interface in browsers that don't support it.
- Components.utils.importGlobalProperties