首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节点js的Buffer.toString(“二进制”)

节点js的Buffer.toString(“二进制”)
EN

Stack Overflow用户
提问于 2013-04-26 11:04:05
回答 1查看 22.7K关注 0票数 6

虽然缓冲区的“二进制”被废弃了,但我必须使用它:我编写了一个web应用程序使用节点js +express。用户可以下载文件,如果不使用,文件名将被混淆。

代码语言:javascript
复制
 res.download(allpath,buf0.toString('binary'));

注意值(是中文字符):

代码语言:javascript
复制
console.log(new Buffer('牛'));

产出:缓冲区,e7,89,9b

代码语言:javascript
复制
var buf0=new Buffer('牛');
console.log(new Buffer(buf0.toString('binary')));

输出:缓冲器,c3,a7,c2,89,c2,9b

这个算法意味着什么,为什么使用二进制toString是工作的?

EN

回答 1

Stack Overflow用户

发布于 2013-04-26 15:45:20

实际上,new Buffer('牛')new Buffer('牛', 'utf-8')的捷径。

因此,如果要将其转换回字符串,则必须使用toString('utf-8')

示例:

代码语言:javascript
复制
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>

进一步读:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16234913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档