使用iconv-lite解决node当中不支持GBK编码的问题
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
,在控制台输入命令->npm install iconv-lite
。
2、引包并使用
使用const iconvLite = require('iconv-lite');
来引用。在fs模块读取文件结束之后的回调函数当中,对于data
参数(对应文件的内容)的处理为iconvLite.decode(data,'gbk');
。即代表对于默认为buffer
形式的data
当中的内容以gbk
的形式解码成一个默认为utf8
编码格式的字符串。
使用iconv-lite解决node当中不支持GBK编码的问题相关推荐
- mysql 支持gbk_MySQL不支持GBK编码的解决方法
Linux下用packages安装的MySQL5.1,不支持GBK编码,只支持UTF8编码.具体表现: 在打开一个用GBK编码的数据库时,提示 ERROR 1273 (HY000): Unknown ...
- 让ubuntu下的eclipse支持GBK编码
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://leaze.blog.51cto.com/83088/195584 今天,把win ...
- mysql gbk支持_mysql如何支持gbk编码
mysql支持gbk编码的方法:首先修改[my.cnf]文件:然后建立库表时指定gbk字符集,代码为[>show cereate table tablename]:最后修改jdbc驱动即可. m ...
- CentOS下Apache环境支持GBK编码解决网页乱码问题
为什么80%的码农都做不了架构师?>>> 问题描述 在CentOS系统中采用Apache服务器安装GBK编码的程序出现乱码,这主要是因为默认安装的Apache服务器字符编码为U ...
- mac下html编辑器,【已解决】Mac下好用的支持GBK编码的文本代码编辑器
Mac中已安装了Sublime Text 3和ATOM编辑器,但是对于从Windows拷贝过来的,GBK编码的文本支持都不好: 打开后,中文是乱码: 但是Mac中的 文本编辑器,却是可以正常打开的: ...
- 如何让Sublime Text2支持GBK编码
有人说可以通过GBK包解决,但是在我这边尝试了之后没反应,好像没成功. 安装方法和 安装zen coding 一样,安装好Package Control之后,通过快捷键[ctrl+shift+p]调出 ...
- gbk编码程序如何设置linux系统,让linux支持gbk编码
网上看到到的方法,记录以备用. 在英文Locale下的Ubuntu 无法正常显示XP下GBK编码的中文 编辑/etc/environment文件 添加LC_CTYPE="zh_CN.GBK& ...
- sublime报错信息乱码_解决Sublime Text 3在GBK编码下的中文乱码问题
按ctrl+~快捷键,调出一个小文本款,然后粘贴以下代码: import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e6240 ...
- sublime3不支持GBK导致中文乱码
sublime3默认没有GBK的编码,所以如果我们用它打开GBK编码的文件,就会乱码.解决方式是装个插件让它能支持GBK编码. 首先我们需要装package control,它是负责装插件的工具.如果 ...
最新文章
- xebium周末启动_我如何在周末建立和启动聊天机器人
- LIst和map的遍历
- linux设备模型bus,device,driver,(kobject、ktype、kset,bus_type、device、device_driver)
- python编程快速上手-----让繁琐工作自动化_每周一书《Python编程快速上手 让繁琐工作自动化》分享!...
- jQuery中Map的使用
- SAP信贷出口(用户1,2,3)
- WPF自定义命令(转)
- 行云管家堡垒机 导入腾讯云主机
- OpenCV4.0-alpha发布!新增多个深度学习特性
- Tiktok玩家的一些建议
- 在html或asp.net中使用FlexPaper
- 饭后小甜点leetcode——哈希表
- nestjs+vue+ts打造一个酷炫的星空聊天室(含完整数据库设计)
- 设置日语输入法遇到的各种问题
- 小程序审核失败:你的小程序涉及提供播放、观看等服务,请补充选择:文娱-其他视频类目。怎么解决呢
- 9个超好用的学习网站,都是充实课余知识的首选
- python读word文档计算字数,Python: Word(docx)文档词频统计
- 中国数据标注公司排名前十强有哪些?
- 3288 配置声卡芯片
- 简述this 和supper 的区别