nodejs 中文文件读写的一些问题和demo

技术分享 2020-02-28 21:48:51

读取中文时候最大的问题是node自身不支持中文容易乱码

写文件时候最大的问题要加 utf8 bom  否则也容易一般编辑器打开乱码


直接给你们demo吧,将100章节小说合并成一个大的text文本:


var fs = require("fs")

var iconv = require('iconv-lite');//node自身不支持gbk,使用第三方库




let mytext = '\uFEFF'; //utf8 bom 表示,否则乱码


for (let index = 1; index <= 99; index++) {


    let number = PrefixZero(index,2);

    let filepath = `${number}.txt`

    console.log(filepath)

    

    mytext += iconv.decode(fs.readFileSync(filepath),'gbk')


    //console.log(iconv.decode(fs.readFileSync(filepath),'gbk'))

    

}


console.log(typeof mytext)

fs.writeFileSync('./000.txt',mytext,{encoding: 'utf8'})



function PrefixZero(num, n) {

    return (Array(n).join(0) + num).slice(-n);

}