求助一个writeFile的多乱码的问题
发布于 5 年前 作者 2015308200114dujiawei 3207 次浏览 来自 问答

背景:为了把项目中的中文key转换为英文,完成了源文件的转换,转换后的文件在内存里面查看事正常,当根据原文件生成copy的时候,在源文件的最下面会有: image.pngimage.pngCD410434-F5B0-420C-8F18-4E9C25FCC7E9.png -----------------解决了 之前读取文件用的是把用createReadStream读取的chunk存到一起,然后在用iconv.decode转码; 现在就直接用chunk.tostring拼接起来 注释掉的是之前的方法 、、、 async function read(path, copypath) { return await new Promise((resolve) => { let result = fs.createReadStream(path); result.setEncoding(‘utf8’); let chunks = []; result.on(‘data’, (chunk) => { // chunks.push(chunk); // size += chunk.length; str2+=chunk; });
result.on(‘end’, () => { // let buf = Buffer.concat(chunks, size); // str = iconv.decode(buf, ‘utf8’); resolve(str2); }) }) } 、、、

6 回复

检查下编码

buffer 末尾的多个 \0 么

@waitingsong 解决了 但我还要去查下 iconv的issue里面有没有我遇到的问题

@hsiaosiyuan0 解决了 但我还要去查下 iconv的issue里面有没有我遇到的问题

@zuohuadong 解决了 但我还要去查下 iconv的issue里面有没有我遇到的问题

回到顶部