Node.js – stringDecoder.end() 方法
该方法将以字符串形式返回留在内部缓冲区中的任何剩余输入。保留不完整并表示 UTF-8 和 UTF-16 字符的字节将替换为适合字符编码的替换字符。stringDecoder.end()
StringDecoder.write()如果提供了任何缓冲区参数,则在返回剩余输入之前调用方法。一旦方法被调用,stringDecoder就可以重新用于获取新的输入end()。
语法
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("nhooo", "utf-8");// 使用 end() 方法从缓冲区获取文本let decoded_text = decoder.end(text);// 打印解码后的文本console.log("解码文本:", decoded_text);
输出结果
解码文本: nhooo
示例 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])));
输出结果
€