fs在读取文件的时候,会把文件读取为buffer,buffer有一个toString()方法,可以把文件转换为字符串,但是默认编码是utf8,读取编码为gbk的文件就会乱码。本文将会读取一个编码为gbk的歌词文件,下面是过程。
目录结构
|— 14-readFileSync.js
|— blood.lrc
14-readFileSync.js
|
|
执行14-readFileSync.js
|
|
读取出来的是乱码,为什么是乱码呢?因为编码问题,.lrc文件是gbk编码,node默认是utf8编码
为了解决编码问题,我们需要引入第三方模块 iconv-lite
在项目目录下创建package.json
|
|
|
|
好了,模块安装好了之后我们就可以直接引用了
14-readFileSync.js
|
|
执行14-readFileSync.js
|
|
done,成功读取。
下面我们用异步的方式再来读取一下
15-readFile.js
|
|
执行15-readFile.js
|
|
也一样读取成功。
本文结束,感谢阅读。
本文作者:melody0z
本文链接:https://melodyvoid/Node/coding-problem.html
欢迎转载,转载请注明文本链接