TextDecoder.decode()

TextDecoder.decode() 方法返回一个字符串,其包含作为参数传递的缓冲区解码后的文本。

解码方法在当前的 TextDecoder 对象中定义。这包含了数据的预期编码,以及如何处理解码时发生的错误。

语法

js
decode()
decode(buffer)
decode(buffer, options)

参数

buffer 可选

一个 ArrayBufferTypedArray 或包含要解码的编码文本的 DataView 对象。

options 可选

具有以下属性的对象:

stream

一个布尔标志,表示在后续调用 decode() 将跟随附加数据。如果以分块的形式处理数据,则设置为 true;如果是最终的分块或者数据没有分块,则设置为 false。默认是 false

异常

TypeError

TextDecoder.fatal 属性为 true 时,若出现解码错误,则抛出该异常。

返回值

一个字符串。

示例

这个示例编码和解码欧元符号,€。

HTML

html
<p>Encoded value: <span id="encoded-value"></span></p>
<p>Decoded value: <span id="decoded-value"></span></p>

JavaScript

js
const encoder = new TextEncoder();
const array = encoder.encode("€"); // Uint8Array(3) [226, 130, 172]
document.getElementById("encoded-value").textContent = array;

const decoder = new TextDecoder();
const str = decoder.decode(array); // String "€"
document.getElementById("decoded-value").textContent = str;

结果

规范

Specification
Encoding Standard
# ref-for-dom-textdecoder-decode①

浏览器兼容性

BCD tables only load in the browser

参见