TextDecoderStream:TextDecoderStream() 构造函数

Baseline 已广泛支持

此功能已成熟,并可在多种设备和浏览器版本上运行。自 2022 年 9 月起,所有浏览器都已支持此功能。

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

TextDecoderStream() 构造函数创建一个新的 TextDecoderStream 对象,该对象用于将具有二进制编码的文本流转换为字符串。

语法

js
new TextDecoderStream(label)
new TextDecoderStream(label, options)

参数

label

一个字符串,默认为 utf-8。这可以是 任何有效的标签

options 可选

具有以下属性的对象:

fatal 可选

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

ignoreBOM 可选

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

异常

RangeError

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

示例

以下示例演示了如何解码从 fetch() 调用中检索到的二进制数据。由于未传递 label,因此数据将按 UTF-8 进行解释。

js
const response = await fetch("https://example.com");
const stream = response.body.pipeThrough(new TextDecoderStream());

规范

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

浏览器兼容性