This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
TextEncoder takes a stream of code points as input and emits a stream of bytes. For a more scalable, non-native library, see StringView – a C-like representation of strings based on typed arrays.
Note: Firefox, Chrome and Opera used to have support for encoding types other than utf-8 (such as utf-16, iso-8859-2, koi8, cp1261, and gbk). As of Firefox 48 (ticket), Chrome 54 (ticket) and Opera 41, no other encoding types are available other than utf-8, in order to match the spec. In all cases, passing in an encoding type to the constructor will be ignored and a utf-8 TextEncoder will be created (the TextDecoder still allows for other decoding types).
Note: There is a polyfill implementation to support all the legacy encodings in GitHub.
Properties
The TextEncoder interface doesn't inherit any property.
TextEncoder.encodingRead only- Is a
DOMStringcontaining the name of the encoder, that is a string describing the method theTextEncoderwill use.
Constructor
TextEncoder()- Returns a newly constructed
TextEncoderthat will generate a byte stream with utf-8 encoding.
Methods
The TextEncoder interface doesn't inherit any method.
TextEncoder.encode()- Returns a
Uint8Arraycontaining utf-8 encoded text.
Specifications
| Specification | Status | Comment |
|---|---|---|
| Encoding The definition of 'TextEncoder' 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 | No support |
| Available in Web Workers | 38 | 20.0 (20.0) | No support | 25 | No support |
| Feature | Android | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | No support | 19.0 (19.0) [1] | 1.0.1 (19.0) | No support | ? | No support |
| Available in Web Workers | No support | 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.
[2] As of Firefox 48, Chrome 54 and Opera 41, no other encoding types are allowed other than utf-8.
See also
- The
TextDecoderinterface 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