Node.js TextEncoder接口
TextEncoder 是一个接口,它接受一个代码点流作为输入,并发出一个编码为UTF-8代码的流。在NodeJS中,这是作为WHATWG编码标准“TextEncoder”API的实现提供的。所有TextEncoder的实例仅支持UTF-8编码。
UTF-8:它是一种将内容编码为多个8位的编码机制。它能够用4个由8位组成的字节来编码所有的1,112,064个字符。前128个字符与ASCII映射相匹配。
导入:
var util = require('util');
语法:
util.TextEncoder( );
构造函数:
- TextEncoder( ): 此方法将返回一个TextEncoder类的新对象,可以生成UTF-8格式的编码。
属性:
TextEncoder类不继承任何属性。只定义了一个属性,即:
- TextEncoder.prototype.encoding: 这是一个只读属性,返回对象使用的编码名称的字符串。它始终返回UTF-8。
功能:
- encode(string): 从一个’string’返回Uint8Array。
- encodeInto(string, dest): 接受两个参数,第一个是输入字符串,第二个是输出数组。它将’string’编码为必须为Uint8Array的’dest’。
返回值: 返回与编码格式对应的包含表示输入的码点的数组。
示例1: 我们将编码并将输出保存在一个局部变量中,并将其打印在控制台上以检查编码值。创建一个文件index.js,写入以下代码:
var util = require('util');
let encoder = new util.TextEncoder();
let uint8Array = encoder.encode("Hello");
console.log(uint8Array);
运行应用程序的步骤: 在终端中输入以下命令启动服务器:
node index.js
输出:
Uint8Array [ 72, 101, 108, 108, 111 ]
示例2: 现在我们将字符串编码成比输入大小更大的输出数组,以查看它们的功能编码。创建一个名为index.js的文件,并写下面的代码:
var util = require('util');
let encoder = new util.TextEncoder();
let src = "Hello";
let uint8Array = new Uint8Array(10);
encoder.encodeInto(src, uint8Array);
console.log(uint8Array);
运行应用程序的步骤: 在终端中输入以下命令启动服务器:
node index.js
输出:
Uint8Array(10) [ 72, 101, 108, 108, 111,0, 0, 0, 0, 0]
浏览器兼容性:
BROWSER | VERSION SUPPORTED |
---|---|
Chrome | 38 |
Edge | 79 |
Firefox | 18 |
Internet Explorer | NOT SUPPORTED |
Opera | 25 |
Safari | 10.1 |
Android WebView | 38 |
Deno | 1.0 |
NodeJS | 8.3.0 |
Samsung Internet | 3.0 |
Safari iOS | 10.3 |
参考: https://nodejs.org/api/util.html#class-utiltextencoder