You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NodeJS使用n-readlines读取文件后ASCII编码字符串匹配失败问题

问题:Node.js使用n-readlines逐行读取TXT文件时字符串匹配失效

我用Node.js的n-readlines包逐行读取TXT文件,把读取到的行转成ASCII编码后赋值给变量,但明明目标字符串存在,搜索匹配却不生效。

代码示例:

const nReadlines = require("n-readlines");

let line;

const lines = new nReadlines(File);
while ((line = lines.next())) {
    let nLine = line.toString('ascii');
    if (nLine.indexOf("SearchString") >= 0) {
        //do something here
    }
}

我怀疑是编码的问题:尝试截取长度为4的子串时,只返回了2个字符。

解决方案

问题根源在于读取到的行是多字节字符表示,将代码中的:

line.toString('ascii')

修改为:

line.toString('utf16le')

后,匹配问题就解决了。

内容的提问来源于stack exchange,提问作者guyjasper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 15:57:18