Node.js – stringDecoder.end() 方法

node.jsserver side programmingprogramming

stringDecoder.end() 方法将以字符串形式返回内部缓冲区中剩余的输入。剩余的未完成的 UTF-8 和 UTF-16 字符将被替换为适合字符编码的替代字符。

StringDecoder.write() 方法(如果提供了任何缓冲区参数)会在返回剩余输入之前调用。调用 end() 方法后,可以重复使用 stringDecoder 来接收新的输入。

语法

stringDecoder.end( [buffer] )

参数

  • buffer - 此参数接收要解码的字节输入。它可以使用缓冲区、TypedArray 或 DataView 作为输入参数。

示例 1

创建一个名为"end.js"的文件,并复制以下代码。创建文件后,使用命令"node end.js"运行此代码,如下例所示。

// stringDecoder.end() 方法演示示例

// 导入 string_decoder 模块
const { StringDecoder } = require("string_decoder");

// 定义解码器类型
const decoder = new StringDecoder("utf-8");

// 将文本转换为缓冲区
const text = Buffer.from("TutorialsPoint", "utf-8");

// 使用 end() 方法从缓冲区获取文本
let decoder_text = decoder.end(text);

// 打印解码后的文本
console.log("Decoded Text:", decoded_text);

输出

Decoded Text: TutorialsPoint

示例 2

// stringDecoder.end() 方法演示示例

// 导入 string_decoder 模块
const { StringDecoder } = require("string_decoder");

// 定义解码器类型
const decoder = new StringDecoder("utf-8");

// 欧元符号:[0xE2, 0x82, 0xAC]
console.log("解码欧元符号:");

// 将欧元值写入解码器
decoder.write(Buffer.from([0xE2]));
decoder.write(Buffer.from([0x82]));

// 使用 end() 方法打印符号
console.log(decoder.end(Buffer.from([0xAC])));

输出


相关文章