{{SeeCompatTable}}{{APIRef}}
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.
Both Firefox and Chrome had support for encoding types other than utf-8 (such as: utf-16, iso-8859-2
, koi8
, cp1261
, and gbk). As of Firebox 48 (
ticket) and Chrome 53 (ticket
) no other encoding types are available other than utf-8, in order to match the spec (link). In both Firefox and Chrome, passing in an encoding type to the constructor will be ignored and a utf-8 TextEncoder will be created (Note: the TextDecoder still allows for other decoding types).
There is a polyfill implementation to support all the legacy encoding in github.
Properties
The TextEncoder
interface doesn't inherit any property.
- {{domxref("TextEncoder.encoding")}} {{readonlyInline}}
- Is a {{domxref("DOMString")}} containing the name of the encoder, that is a string describing the method the
TextEncoder
will use.
Constructor
- {{domxref("TextEncoder.TextEncoder", "TextEncoder()")}}
- Returns a newly constructed
TextEncoder
that will generate a byte stream with the encoding method specified in parameters.
Methods
The TextEncoder
interface doesn't inherit any method.
- {{domxref("TextEncoder.encode()")}}
- Returns a
Uint8Array
containing the text encoded with the method for this specificTextEncoder
object.
Specifications
Specification | Status | Comment |
---|---|---|
{{SpecName('Encoding', '#interface-textencoder', 'TextEncoder')}} | {{Spec2('Encoding')}} | Initial definition. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 38 | {{CompatGeckoDesktop("19.0")}} [1] | {{CompatNo}} | 25 | {{CompatNo}} |
Available in Web Workers | 38 | {{CompatGeckoDesktop("20.0")}} | {{CompatNo}} | 25 | {{CompatNo}} |
Feature | Android | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | {{CompatNo}} | {{CompatGeckoMobile("19.0")}} [1] | {{CompatGeckoFxOS("19.0", "1.0.1")}} | {{CompatNo}} | {{CompatUnknown}} | {{CompatNo}} |
Available in Web Workers | {{CompatNo}} | {{CompatGeckoMobile("20.0")}} | {{CompatGeckoFxOS("20.0", "1.0.1")}} | {{CompatNo}} | {{CompatUnknown}} | {{CompatNo}} |
[1] An earlier, and slightly different, version of the specification was implemented in Firefox 18.
See also
- The {{domxref("TextDecoder")}} 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