使用Node.js怎么读写中文内容文件

您所在的位置:网站首页 node读取js文件内容 使用Node.js怎么读写中文内容文件

使用Node.js怎么读写中文内容文件

#使用Node.js怎么读写中文内容文件| 来源: 网络整理| 查看: 265

使用Node.js怎么读写中文内容文件 发布时间:2021-06-15 16:32:59 来源:亿速云 阅读:272 作者:Leah 栏目:web开发

这篇文章给大家介绍使用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怎么读写中文内容文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读: node.js 读取zip中文件内容 如何使用node读写Excel文件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

node.js 上一篇新闻:python中怎么判断tuple、list、dict是否为空 下一篇新闻:在pycharm 中误删掉项目文件如何处理 猜你喜欢 怎么表示HTML注释 怎么在css设置属性居中表格 怎么改变css的属性 如何处理长短文本内容的小技巧 JavaScript扩展运算符怎么用 Angular根模块与特性模块的示例分析 Nodejs+express模块如何创建一个服务器 JavaScript中关于“this”的面试题 如何使用纯CSS画一个圆环 Bootstrap3中下拉菜单事件的实现方法


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3