TextDecoder.decode()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
TextDecoder.decode()
方法返回一个字符串,其包含作为参数传递的缓冲区解码后的文本。
解码方法在当前的 TextDecoder
对象中定义。这包含了数据的预期编码,以及如何处理解码时发生的错误。
语法
js
decode()
decode(buffer)
decode(buffer, options)
参数
buffer
可选-
一个
ArrayBuffer
、TypedArray
或包含要解码的编码文本的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
参见
- 属于
TextDecoder
接口。