CNode

求助一个writeFile的多乱码的问题

问答
22015308200114dujiawei发布于7 年前最后回复7 年前6 回复3790 浏览0 收藏

背景:为了把项目中的中文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)

Z
zuohuadong#1·7 年前

检查下编码

W
waitingsong#2·7 年前

buffer 末尾的多个 \0 么

H
hsiaosiyuan0#3·7 年前

有可能和 @waitingsong 提示的一样,建议装个 https://marketplace.visualstudio.com/items?itemName=slevesque.vscode-hexdump 看看

引用 waitingsongbuffer 末尾的多个 \0 么

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

引用 hsiaosiyuan0有可能和 @waitingsong 提示的一样,建议装个 https://marketplace.visualstudio.com/items?itemName=slevesque.vscod...

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

引用 zuohuadong检查下编码

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

参与回复
登录后即可参与回复。登录