TextDecoder() constructor returns a newly created TextDecoder object for the encoding specified in parameter.

If the value for utfLabel is unknown, or is one of the two values leading to a 'replacement' decoding algorithm ( " iso-2022-cn " or " iso-2022-cn-ext "), a DOMException 采用 "TypeError" value is thrown.

句法

decoder = new TextDecoder(utfLabel, options);
					

参数

utfLabel 可选
DOMString ,默认为 "utf-8" , containing the label of the encoder. Each label is associated with a specific encoding type:
可能的值为 utfLabel 编码
" unicode-1-1-utf-8 ", " utf-8 ", " utf8 " 'utf-8'
" 866 ", " cp866 ", " csibm866 ", " ibm866 " 'ibm866'
" csisolatin2 ", " iso-8859-2 ", " iso-ir-101 ", " iso8859-2 ", " iso88592 ", " iso_8859-2 ", " iso_8859-2:1987 ", " l2 ", " latin2 " 'iso-8859-2'
" csisolatin3 ", " iso-8859-3 ", " iso-ir-109 ", " iso8859-3 ", " iso88593 ", " iso_8859-3 ", " iso_8859-3:1988 ", " l3 ", " latin3 " 'iso-8859-3'
" csisolatin4 ", " iso-8859-4 ", " iso-ir-110 ", " iso8859-4 ", " iso88594 ", " iso_8859-4 ", " iso_8859-4:1988 ", " l4 ", " latin4 " 'iso-8859-4'
" csisolatincyrillic ", " cyrillic ", " iso-8859-5 ", " iso-ir-144 ", " iso88595 ", " iso_8859-5 ", " iso_8859-5:1988 " 'iso-8859-5'
" arabic ", " asmo-708 ", " csiso88596e ", " csiso88596i ", " csisolatinarabic ", " ecma-114 ", " iso-8859-6 ", " iso-8859-6-e ", " iso-8859-6-i ", " iso-ir-127 ", " iso8859-6 ", " iso88596 ", " iso_8859-6 ", " iso_8859-6:1987 " 'iso-8859-6'
" csisolatingreek ", " ecma-118 ", " elot_928 ", " greek ", " greek8 ", " iso-8859-7 ", " iso-ir-126 ", " iso8859-7 ", " iso88597 ", " iso_8859-7 ", " iso_8859-7:1987 ", " sun_eu_greek " 'iso-8859-7'
" csiso88598e ", " csisolatinhebrew ", " hebrew ", " iso-8859-8 ", " iso-8859-8-e ", " iso-ir-138 ", " iso8859-8 ", " iso88598 ", " iso_8859-8 ", " iso_8859-8:1988 ", " visual " 'iso-8859-8'
" csiso88598i ", " iso-8859-8-i ", " logical " 'iso-8859-8i'
" csisolatin6 ", " iso-8859-10 ", " iso-ir-157 ", " iso8859-10 ", " iso885910 ", " l6 ", " latin6 " 'iso-8859-10'
" iso-8859-13 ", " iso8859-13 ", " iso885913 " 'iso-8859-13'
" iso-8859-14 ", " iso8859-14 ", " iso885914 " 'iso-8859-14'
" csisolatin9 ", " iso-8859-15 ", " iso8859-15 ", " iso885915 ", " l9 ", " latin9 " 'iso-8859-15'
" iso-8859-16 " 'iso-8859-16'
" cskoi8r ", " koi ", " koi8 ", " koi8-r ", " koi8_r " 'koi8-r'
" koi8-u " 'koi8-u'
" csmacintosh ", " mac ", " macintosh ", " x-mac-roman " 'macintosh'
" dos-874 ", " iso-8859-11 ", " iso8859-11 ", " iso885911 ", " tis-620 ", " windows-874 " 'windows-874'
" cp1250 ", " windows-1250 ", " x-cp1250 " 'windows-1250'
" cp1251 ", " windows-1251 ", " x-cp1251 " 'windows-1251'
" ansi_x3.4-1968 ", " ascii ", " cp1252 ", " cp819 ", " csisolatin1 ", " ibm819 ", " iso-8859-1 ", " iso-ir-100 ", " iso8859-1 ", " iso88591 ", " iso_8859-1 ", " iso_8859-1:1987 ", " l1 ", " latin1 ", " us-ascii ", " windows-1252 ", " x-cp1252 " 'windows-1252'
" cp1253 ", " windows-1253 ", " x-cp1253 " 'windows-1253'
" cp1254 ", " csisolatin5 ", " iso-8859-9 ", " iso-ir-148 ", " iso8859-9 ", " iso88599 ", " iso_8859-9 ", " iso_8859-9:1989 ", " l5 ", " latin5 ", " windows-1254 ", " x-cp1254 " 'windows-1254'
" cp1255 ", " windows-1255 ", " x-cp1255 " 'windows-1255'
" cp1256 ", " windows-1256 ", " x-cp1256 " 'windows-1256'
" cp1257 ", " windows-1257 ", " x-cp1257 " 'windows-1257'
" cp1258 ", " windows-1258 ", " x-cp1258 " 'windows-1258'
" x-mac-cyrillic ", " x-mac-ukrainian " 'x-mac-cyrillic'
" chinese ", " csgb2312 ", " csiso58gb231280 ", " gb2312 ", " gb_2312 ", " gb_2312-80 ", " gbk ", " iso-ir-58 ", " x-gbk " 'gbk'
" gb18030 " 'gb18030'
" hz-gb-2312 " 'hz-gb-2312'
" big5 ", " big5-hkscs ", " cn-big5 ", " csbig5 ", " x-x-big5 " 'big5'
" cseucpkdfmtjapanese ", " euc-jp ", " x-euc-jp " 'euc-jp'
" csiso2022jp ", " iso-2022-jp "

注意 : Firefox used to accept iso-2022-jp-2 sequences silently when an iso-2022-jp decoder was instantiated, however this was removed in version 56 to simplify the API, as no other browsers support it and no pages seem to use it.

'iso-2022-jp'
" csshiftjis ", " ms_kanji ", " shift-jis ", " shift_jis ", " sjis ", " windows-31j ", " x-sjis " 'shift-jis'
" cseuckr ", " csksc56011987 ", " euc-kr ", " iso-ir-149 ", " korean ", " ks_c_5601-1987 ", " ks_c_5601-1989 ", " ksc5601 ", " ksc_5601 ", " windows-949 " 'euc-kr'
" csiso2022kr ", " iso-2022-kr " 'iso-2022-kr'
" utf-16be " 'utf-16be'
" utf-16 ", " utf-16le " 'utf-16le'
" x-user-defined " 'x-user-defined'
" iso-2022-cn ", " iso-2022-cn-ext " 'replacement'
选项 可选
TextDecoderOptions dictionary with the property:
fatal
A 布尔 flag indicating if the TextDecoder.decode() method must throw a DOMException 采用 "EncodingError" value when an coding error is found. It defaults to false .

范例

var textDecoder1 = new TextDecoder("iso-8859-2");
var textDecoder2 = new TextDecoder();
var textDecoder3 = new TextDecoder("csiso2022kr", {fatal: true}); // Allows EncodingError exception to be thrown.
var textDecoder4 = new TextDecoder("iso-2022-cn"); // Throw a TypeError exception.
									

规范

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

浏览器兼容性

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request. 更新 GitHub 上的兼容性数据
桌面 移动
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 ? 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

版权所有  © 2014-2026 乐数软件    

工业和信息化部: 粤ICP备14079481号-1