TextDecoder
interface represents a decoder for a specific text encoding, such as
UTF-8
,
ISO-8859-2
,
KOI8-R
,
GBK
, etc. A decoder takes a stream of bytes as input and emits a stream of code points.
This example shows how to decode a Chinese/Japanese character
, as represented by five different typed arrays:
Uint8Array
,
Int8Array
,
Uint16Array
,
Int16Array
,和
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));
In this example, we decode the Russian text "Привет, мир!", which means "Hello, world." In our
TextDecoder()
constructor, we specify the Windows-1251 character encoding, which is appropriate for Cyrillic script.
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)); // Привет, мир!
TextDecoder()
TextDecoder
that will generate a code point stream with the decoding method specified in parameters.
TextDecoder
interface doesn't inherit any properties.
TextDecoder.prototype.encoding
只读
DOMString
containing the name of the decoder, that is a string describing the method the
TextDecoder
will use.
TextDecoder.prototype.fatal
只读
布尔
indicating whether the error mode is fatal.
TextDecoder.prototype.ignoreBOM
只读
布尔
indicating whether the byte order marker is ignored.
TextDecoder
interface doesn't inherit any method
.
TextDecoder.prototype.decode()
DOMString
containing the text decoded with the method of the specific
TextDecoder
对象。
| 规范 | 状态 | 注释 |
|---|---|---|
|
编码
The definition of 'TextDecoder' in that specification. |
实时标准 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
TextDecoder
|
Chrome 38 | Edge ≤79 |
Firefox
19
|
IE 不支持 No | Opera 25 | Safari 10.1 | WebView Android 38 | Chrome Android 38 |
Firefox Android
19
|
Opera Android Yes | Safari iOS 10.3 | Samsung Internet Android 3.0 |
TextDecoder()
构造函数
|
Chrome 38 | Edge ≤79 |
Firefox
19
|
IE 不支持 No | Opera 25 | Safari 10.1 | WebView Android 38 | Chrome Android 38 |
Firefox Android
19
|
Opera Android ? | Safari iOS 10.3 | Samsung Internet Android 3.0 |
decode
|
Chrome 38 | Edge ≤79 |
Firefox
19
|
IE 不支持 No | Opera 25 | Safari 10.1 | WebView Android 38 | Chrome Android 38 |
Firefox Android
19
|
Opera Android Yes | Safari iOS 10.3 | Samsung Internet Android 3.0 |
encoding
|
Chrome 38 | Edge ≤79 |
Firefox
19
|
IE 不支持 No | Opera 25 | Safari 10.1 | WebView Android 38 | Chrome Android 38 |
Firefox Android
19
|
Opera Android Yes | Safari iOS 10.3 | Samsung Internet Android 3.0 |
fatal
|
Chrome Yes | Edge ≤79 | Firefox Yes | IE 不支持 No | Opera Yes | Safari 10.1 | WebView Android Yes | Chrome Android Yes | Firefox Android Yes | Opera Android Yes | Safari iOS 10.3 | Samsung Internet Android Yes |
ignoreBOM
|
Chrome Yes | Edge ≤79 | Firefox Yes | IE 不支持 No | Opera Yes | Safari 10.1 | WebView Android Yes | Chrome Android Yes | Firefox Android Yes | Opera Android Yes | Safari iOS 10.3 | Samsung Internet Android Yes |
| Available in workers | Chrome 38 | Edge ≤79 | Firefox 20 | IE 不支持 No | Opera 25 | Safari 10.1 | WebView Android 38 | Chrome Android 38 | Firefox Android 20 | Opera Android ? | Safari iOS 10.3 | Samsung Internet Android 3.0 |
完整支持
不支持
兼容性未知
见实现注意事项。
TextEncoder
interface describing the inverse operation.
StringView
– a C-like representation of strings based on typed arrays
Components.utils.importGlobalProperties
TextDecoder