使用iconv-lite解决node当中不支持GBK编码的问题

发布时间:2019-06-13 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了使用iconv-lite解决node当中不支持GBK编码的问题脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

1、Node环境当中不支持GBK编码

node.js当中的Buffer对象支持的编码格式的种类有限,大概有asciiutf8utf16leucs2base64binaryhex。不支持GBK的编码形式。对于windows系统来说,由于历史原因,许多文件默认的编码格式均为GBK

比如我们在windows系统性新建一个文本文档,在其内部编辑完中文内容之后,在设置保存时,可以看到其默认的编码格式为ANSI,即为GBK

图片描述

将这个以GBK编码格式编辑的文本文件移动到项目文件夹当中,使用node当中的fs模块对其进行读取其文本内容。由于不支持GBK的编码,故会出现如下报错信息。

图片描述

对于那些我们无法改变其编码格式的文件,又需要使用node来操作其文件内容的,我们需要引用iconv-lite来帮助我们解决编码转换的问题。

2、iconv-lite的使用

iconv-lite用于在node当中处理在各种操作系统出现的各种奇特编码,该模块不提供读写文件的操作,只提供文件编码转换的功能。
1、下载模块包
在当前项目文件夹的目录下打开cmd,在控制台输入命令->npm install iconv-lite

使用iconv-lite解决node当中不支持GBK编码的问题

2、引包并使用
使用const iconvLite = require('iconv-lite');来引用。在fs模块读取文件结束之后的回调函数当中,对于data参数(对应文件的内容)的处理为iconvLite.decode(data,'gbk');。即代表对于默认为buffer形式的data当中的内容以gbk的形式解码成一个默认为utf8编码格式的字符串。

使用iconv-lite解决node当中不支持GBK编码的问题

脚本宝典总结

以上是脚本宝典为你收集整理的使用iconv-lite解决node当中不支持GBK编码的问题全部内容,希望文章能够帮你解决使用iconv-lite解决node当中不支持GBK编码的问题所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: