1。Node环境不支持GBK编码。node.js中Buffer对象支持的编码格式种类有限,大概有ascii、utf8、utf16le、ucs2、base64、binary、hex。不支持GBK编码形式。对于windows系统,由于历史原因,很多文件默认的编码格式是GBK。比如我们在Windows系统中新建一个文本文档,编辑里面的中文内容后,在设置保存的时候可以看到它默认的编码格式是ANSI,也就是GBK。将编辑好的GBK编码格式的文本文件移动到项目文件夹中,使用node中的fs模块读取其文本内容。由于不支持GBK的编码,会出现如下错误信息。对于那些我们无法更改编码格式,需要使用node来操作其文件内容的文件,我们需要参考iconv-lite来帮助我们解决编码转换的问题。2、iconv-lite的使用iconv-lite用于处理node中各种操作系统出现的各种奇奇怪怪的代码。本模块不提供读写文件的操作,只提供文件编码转换的功能。1、下载模块包在当前项目文件夹目录下打开cmd,在控制台输入命令->npminstalliconv-lite。2.使用consticonvLite=require('iconv-lite');报价包。fs模块读取文件后的回调函数中,对data参数(对应文件内容)的处理为iconvLite.decode(data,'gbk');。即默认buffer格式的data中的内容被解码成gbk形式的默认utf8编码格式的字符串。
