TextDecoder:TextDecoder() 构造函数

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

注意:此功能在 Web Workers 中可用。

TextDecoder() 构造函数返回一个新的 TextDecoder 对象。

语法

js
new TextDecoder()
new TextDecoder(label)
new TextDecoder(label, options)

参数

label 可选

一个字符串,用于标识此解码器将使用的字符编码。它可以是任何有效标签

默认为 "utf-8"

options 可选

具有以下属性的对象:

fatal 可选

一个布尔值,指示当解码无效数据时,TextDecoder.decode() 方法是否必须抛出 TypeError。它默认为 false,这意味着解码器将用替换字符替换格式错误的数据。

ignoreBOM 可选

一个布尔值,指示是否将字节顺序标记包含在输出中或跳过。它默认为 false,这意味着在解码时将跳过字节顺序标记,并且不会包含在解码后的文本中。

异常

RangeError

如果 label 的值未知,或者它属于导致 'replacement' 解码算法的值之一("iso-2022-cn""iso-2022-cn-ext"),则抛出此异常。

示例

js
const textDecoder1 = new TextDecoder("iso-8859-2");

const textDecoder2 = new TextDecoder();

const textDecoder3 = new TextDecoder("csiso2022kr", { fatal: true });
// Allows TypeError exception to be thrown.

const textDecoder4 = new TextDecoder("iso-2022-cn");
// Throws a RangeError exception.

规范

规范
编码
# ref-for-dom-textdecoder①

浏览器兼容性

另见