TextDecoder
注意:此功能在 Web Workers 中可用。
TextDecoder 接口代表了特定文本编码的解码器,例如 UTF-8、ISO-8859-2 或 GBK。解码器接收字节数组作为输入,并返回一个 JavaScript 字符串。
构造函数
TextDecoder()-
创建并返回一个新的
TextDecoder。
实例属性
TextDecoder 接口不继承任何属性。
TextDecoder.encoding只读-
一个字符串,包含此
TextDecoder将使用的字符编码系统的名称。 TextDecoder.fatal只读-
一个布尔值,指示错误模式是否为致命模式。
TextDecoder.ignoreBOM只读-
一个布尔值,指示是否忽略 字节顺序标记。
实例方法
TextDecoder 接口不继承任何方法。.
TextDecoder.decode()-
将给定的字节解码为 JavaScript 字符串并返回。
示例
解码 UTF-8 文本
此示例展示了如何解码字符“𠮷”的 UTF-8 编码。
html
<button id="decode">Decode</button>
<button id="reset">Reset</button>
<div id="output"></div>
js
const utf8decoder = new TextDecoder(); // default 'utf-8'
const encodedText = new Uint8Array([240, 160, 174, 183]);
const output = document.querySelector("#output");
const decodeButton = document.querySelector("#decode");
decodeButton.addEventListener("click", () => {
output.textContent = utf8decoder.decode(encodedText);
});
const resetButton = document.querySelector("#reset");
resetButton.addEventListener("click", () => {
window.location.reload();
});
解码非 UTF-8 文本
在此示例中,我们解码俄语文本“Привет, мир!”,其含义为“你好,世界。”。在我们的 TextDecoder() 构造函数中,我们指定了 Windows-1251 字符编码。
html
<button id="decode">Decode</button>
<button id="reset">Reset</button>
<div id="decoded"></div>
js
const win1251decoder = new TextDecoder("windows-1251");
const encodedText = new Uint8Array([
207, 240, 232, 226, 229, 242, 44, 32, 236, 232, 240, 33,
]);
const decoded = document.querySelector("#decoded");
const decodeButton = document.querySelector("#decode");
decodeButton.addEventListener("click", () => {
decoded.textContent = win1251decoder.decode(encodedText);
});
const resetButton = document.querySelector("#reset");
resetButton.addEventListener("click", () => {
window.location.reload();
});
规范
| 规范 |
|---|
| 编码 # interface-textdecoder |
浏览器兼容性
加载中…
另见
- 描述逆向操作的
TextEncoder接口。