nodejs文件读取中文乱码问题
来源:互联网 发布:it have 还是it has 编辑:程序博客网 时间:2024/05/18 15:25
参考自《深入浅出nodejs》
Buffer对象类似于数组,元素为16进制的两位数,0-255的数值 是二进制,与字符串有编码的关系
Buffer对象可以与字符串之间相互转换,目前支持:ASCII,UTF-8,UTF-16LE/UCS-2,Base64,Binary,Hex
转为buffer: new Buffer(str,[encoding])
转为字符串:buf.toString([encoding],[start],[end])
乱码发生在buffer的拼接
var fs=require('fs');var rs=fs.createReadStream('test.md');var data='';rs.on('data',function(trunk){ data+=trunk;})rs.on('end',function(){ console.log(data);})其实data+=trunk 相当于 data=data.toString()+trunk.toString();
解决方法一:
可读流设置编码readable.setEncoding(encoding);
var rs=fs.createReadStream('test.md');rs.setEncoding('utf8');解决方法二:
把多个小buffer拼接成一个大Buffer
var chunks=[];var size=0;res.on('data',function(chunk){ chunks.push(chunk); size+=chunk.length;});res.on('end',function(){ var buf=Buffer.concat(chunks,size); var str=iconv.decode(buf,'utf8'); console.log(str);});使用Buffer进行文件读取和网络传输,性能比直接纯字符串将近快一倍
0 0
- nodejs文件读取中文乱码问题
- Nodejs 读取中文时乱码问题
- nodejs中文乱码问题
- nodejs读取本地中文json文件出现乱码
- Java读取文件 解决中文乱码问题
- 文件读取之中文乱码问题
- Java IO读取文件中文乱码问题
- java读取文件中文乱码问题
- Java 读取xml文件中文乱码问题
- java 读取中文文件乱码问题
- Java读取properties文件 中文乱码问题
- Java IO读取文件中文乱码问题
- 解决FileInputStream 读取文件中文乱码问题
- 解决python读取中文文件乱码问题
- FileReader读取文件中文乱码问题
- Java读取文件----中文乱码问题
- InputStreamReader读取文件中文乱码问题
- node.js读取文件中文乱码问题
- RecyclerView+Checkbox乱序问题
- Caffe训练过程:test_iter test_interval等概念
- ztree简单的使用
- plsql中文乱码,显示问号
- iOS如何快速安装CocoaPods
- nodejs文件读取中文乱码问题
- Centos安装nmon软件
- LeetCode(290) Word Pattern
- Xcode 7 UI 测试初窥
- python 里关于字符的处理
- 第十三章 包和引用
- 值传递和引用传递的区别
- HDU2045不容易系列之(3)—— LELE的RPG难题
- 分布式与集群的联系与区别