TextDecoder

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.

范例

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 ,和 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));
					

Handling non-UTF8 text

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()
Returns a newly constructed 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 只读
Boolean indicating whether the error mode is fatal.
TextDecoder.prototype.ignoreBOM 只读
Boolean 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 对象。

规范

规范 状态 Comment
编码
The definition of 'TextDecoder' in that specification.
实时标准 初始定义。

浏览器兼容性

更新 GitHub 上的兼容性数据
Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
TextDecoder Chrome 38 Edge ≤79 Firefox 19
19
部分支持 18
注意事项
Implemented a slightly different version of the spec.
IE 不支持 No Opera 25 Safari 10.1 WebView Android 38 Chrome Android 38 Firefox Android 19
19
部分支持 18
注意事项
Implemented a slightly different version of the spec.
Opera Android Yes Safari iOS 10.3 Samsung Internet Android 3.0
TextDecoder() 构造函数 Chrome 38 Edge ≤79 Firefox 19
19
部分支持 18
注意事项
Implemented a slightly different version of the spec.
IE 不支持 No Opera 25 Safari 10.1 WebView Android 38 Chrome Android 38 Firefox Android 19
19
部分支持 18
注意事项
Implemented a slightly different version of the spec.
Opera Android ? Safari iOS 10.3 Samsung Internet Android 3.0
decode Chrome 38 Edge ≤79 Firefox 19
19
部分支持 18
注意事项
Implemented a slightly different version of the spec.
IE 不支持 No Opera 25 Safari 10.1 WebView Android 38 Chrome Android 38 Firefox Android 19
19
部分支持 18
注意事项
Implemented a slightly different version of the spec.
Opera Android Yes Safari iOS 10.3 Samsung Internet Android 3.0
encoding Chrome 38 Edge ≤79 Firefox 19
19
部分支持 18
注意事项
Implemented a slightly different version of the spec.
IE 不支持 No Opera 25 Safari 10.1 WebView Android 38 Chrome Android 38 Firefox Android 19
19
部分支持 18
注意事项
Implemented a slightly different version of the spec.
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

图例

完整支持
完整支持
不支持
不支持
兼容性未知
兼容性未知
见实现注意事项。

另请参阅

  1. 编码 API
  2. TextDecoder
  3. 构造函数
    1. TextDecoder()
  4. 特性
    1. encoding
  5. 方法
    1. decode()
  6. Related pages for Encoding API
    1. TextEncoder