node js的Buffer.toString('binary')

时间:2013-04-26 11:04:06

标签: node.js express buffer encode

虽然不推荐使用Buffer的'binary',但我必须使用它: 我使用节点js + express编写了一个web应用程序。用户可以下载文件,如果不使用

,文件名将会出现乱码
 res.download(allpath,buf0.toString('binary'));

观察价值(是一个中国字符):

console.log(new Buffer('牛'));

输出:Buffer,e7,89,9b

var buf0=new Buffer('牛');
console.log(new Buffer(buf0.toString('binary')));

输出:Buffer,c3,a7,c2,89,c2,9b

这个算法有什么意义,为什么使用二进制toString是有效的?

1 个答案:

答案 0 :(得分:3)

实际上,new Buffer('牛')new Buffer('牛', 'utf-8')的捷径 因此,如果您想将其转换回字符串,则必须使用toString('utf-8')

示例:

console.log(new Buffer('牛'));
// Output: <Buffer e7 89 9b>

var buf0=new Buffer('牛');
console.log(new Buffer(buf0.toString('utf-8')));
// Output: <Buffer e7 89 9b>

进一步阅读: