怎么使用Node.js读写中文内容文件
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍"怎么使用Node.js读写中文内容文件",在日常操作中,相信很多人在怎么使用Node.js读写中文内容文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2025年01月20日怎么使用Node.js读写中文内容文件
这篇文章主要介绍"怎么使用Node.js读写中文内容文件",在日常操作中,相信很多人在怎么使用Node.js读写中文内容文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么使用Node.js读写中文内容文件"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
由于Node.js仅支持如下编码:utf8, ucs2, ascii, binary, base64, hex,并不支持中文GBK或GB2312之类的编码,
因此如果要读写GBK或GB2312格式的文件的中文内容,必须要用额外的模块:iconv-lite
1、安装模块:npm install iconv-lite
2、演示代码,把下面的代码复制到一个文件中,假设是ch.js(注意:js文件必须保存为utf8编码格式):
// 加载File System读写模块var fs = require('fs');// 加载编码转换模块var iconv = require('iconv-lite'); var file = "c:\\a.txt";writeFile(file);readFile(file); function writeFile(file){ // 测试用的中文 var str = "\r\n我是一个人Hello myself!"; // 把中文转换成字节数组 var arr = iconv.encode(str, 'gbk'); console.log(arr); // appendFile,如果文件不存在,会自动创建新文件 // 如果用writeFile,那么会删除旧文件,直接写新文件 fs.appendFile(file, arr, function(err){ if(err) console.log("fail " + err); else console.log("写入文件ok"); });} function readFile(file){ fs.readFile(file, function(err, data){ if(err) console.log("读取文件fail " + err); else{ // 读取成功时 // 输出字节数组 console.log(data); // 把数组转换为gbk中文 var str = iconv.decode(data, 'gbk'); console.log(str); } });}
3、用node.exe执行这个js文件,结果如下:
C:\>node ch.js写入文件ok 我是一个人Hello myself! C:\>
注1:Node的iconv模块,仅支持linux,不支持Windows,因此要用纯js的iconv-lite,另:作者说iconv-lite的性能更好,具体参考git站点:iconv-lite
注2:我在测试读写文件时,始终无法把中文写入文件,一直乱码,读取正常,后来同事帮我发现:js文件的编码格式是ansi,nodejs的代码文件必须是utf8格式
注3:如果程序操作的文件,都是以UTF8编码格式保存的,那么就不需要使用iconv模块,直接以utf8格式读取文件即可,如:
// 参数file,必须保存为utf8格式,否则里面的中文会乱码function readFile(file){ // readFile的第2个参数表示读取编码格式,如果未传递这个参数,表示返回Buffer字节数组 fs.readFile(file, "utf8", function(err, data){ if(err) console.log("读取文件fail " + err); else{ // 读取成功时 console.log(data);// 直接输出中文字符串了 } });}
到此,关于"怎么使用Node.js读写中文内容文件"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
文件
中文
格式
编码
模块
内容
数组
学习
支持
代码
参数
字节
成功
个人
乱码
更多
帮助
测试
输出
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
魔兽n服数据库
工业网络安全风险分析
委托软件开发无形资产
蜜汁炖鱿鱼网络安全什么鬼
星巴克视频软件开发
生产服务器最大公司
学网络安全可以干嘛
服务器如何快速获取网络信息
网络安全应考虑的一般原则
ps3恢复模式 数据库
城主武器数据库
48位存储服务器参数
易语言做数据库登陆界面
模型驱动式软件开发工具
笔记本电脑服务器连接不上网
电竞比赛软件开发
数据库gbase里存的什么数据
手机web服务器安全性
广东音乐作品登记信息数据库
金万维服务器
用友互联网科技有限公司
vue服务器如何检测版本号
网络安全与应急管理工作
国内七元一月的云服务器
网络无法连接到服务器
数据库备份功能
智能锁软件开发公司
饥荒专用服务器卡
数据库关系的作用
孤胆枪手为什么打不开服务器