Node.js TextDecoder接口

Node.js TextDecoder接口

TextDecoder 是一个NodeJS接口,用于对特定的文本编码(如UTF-8、ISO-8859-2、KOI8-R、GBK等)进行解码。它接受字节流作为输入,并产生字符编码流作为输出。

导入:

let var = new TextDecoder(encoding);

参数:

  • encoding: 它是一个定义TextDecoder对象将使用的编码的字符串数据类型。默认情况下使用UTF-8。

    构造函数:

  • TextDecoder( ): 这个构造函数返回一个新的对象,它可以使用参数中指定的解码格式生成一个码点流。

属性:

TextDecoder不继承任何属性。定义的属性有:

  • TextDecoder.encoding: 用于解码的编码格式的名称。
  • TextDecoder.fatal: 一个布尔值,表示错误代码是否是致命的。
  • TextDecoder.ignoreBOM: 一个布尔值,表示是否忽略BOM(字节顺序标记)。

    函数:

  • decode(input): 使用在构造TextDecoder对象时定义的编码,使用内置函数decode对‘input’进行解码。

返回值: 一个表示给定编码格式的解码值的字符串。

示例1: 让我们解码UTF-8类型的编码点。由于默认情况下将使用‘UTF-8’,因此我们不需要在解码器构造函数的参数中定义编码。创建一个文件index.js并编写下面的代码:

let decoder = new TextDecoder();
let uint8Array = new Uint8Array([72, 101, 108, 108, 111]);
console.log(decoder.decode(uint8Array));

运行应用程序的步骤: 在终端中输入以下命令以启动服务器:

node index.js

输出:

Hello

示例2: 要解码非UTF-8编码的值,比如一个用英文写的俄语口号“Привет, мир!”,我们可以使用‘windows-1251’编码类型来解码它的代码点。创建一个名为index.js的文件,然后添加以下代码:

let decoder = new TextDecoder('windows-1251');
let data = new Uint8Array([207, 240, 232, 226, 229, 
    242, 44, 32, 236, 232, 240, 33]);
console.log(decoder.decode(data));

运行应用程序的步骤: 在终端中输入以下命令启动服务器:

node index.js

输出:

Привет, мир!

浏览器兼容性:

BROWSER VERSION SUPPORTED
Chrome 38
Edge 79
Firefox 19
Internet Explorer NOT SUPPORTED
Opera 25
Safari 10.1
Android WebView 38
Samsung Internet 3.0
Deno 1.0
NodeJS 11.0.0
Safari iOS 10.3

参考: https://nodejs.org/api/util.html#new-textdecoderencoding-options

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程