首页 文章资讯内容详情

Node.js – stringDecoder.end() 方法

2026-06-02 4 花语

该方法将以字符串形式返回留在内部缓冲区中的任何剩余输入。保留不完整并表示UTF-8和UTF-16字符的字节将替换为适合字符编码的替换字符。stringDecoder.end()

StringDecoder.write()如果提供了任何缓冲区参数,则在返回剩余输入之前调用方法。一旦方法被调用,stringDecoder就可以重新用于获取新的输入end()

语法

stringDecoder.end( [buffer] )

参数

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

示例1

创建一个名为“end.js”的文件并复制以下代码。创建文件后,使用命令“nodeend.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])));输出结果€