NodeJs03

Buffer 缓冲区

--------------------------------------

什么是Buffer

Buffer是用来存储二进制数据的对象 但是结果以16进制的形式表示出来

# Buffer是一个类数组对象,不是数组

Buffer的作用

javascript能够处理字符串,对字符串进行一些操作,但是对于一些二进制数据就没法操作了。

buffer是用来处理二进制文件流和TCP流(http的底层协议)的文件缓存区,可以将二进制流和string进行相互转换

Buffer的特点

buffer对象里面存储的是字节,而不是字符串或者其他的数据类型 主要热点是用来操作字节的

Buffer是一个类数组对象

什么时候用到buffer

用到数据流的地方就会用到buffer(比如文件读取,http中post请求传递的数据)

# EF BB BF 微软在自己的UTF-8格式的文本文件之前加上了EF BB BF三个字节 用来检测一个字节流是否是UTF-8编码的

创建一个buffer对象

var buf = Buffer(字符串);

将一个buffer对象转换为字符串

var str = buf.toString();

-----------------------------------------

流操作(stream) 一般代表文件读写操作

为什么要有流操作

如果读取或者写入一个比较大的文件如(音频或者视频一般为几个G左右),如果使用writeFile或者readFile来操作,非常容易使电脑内存"爆仓",因为电脑内存一般也就4G,8G左右

理想的方法应该是分多次对数据进行读写操作,不管文件有多大,只要时间允许,总会处理完成。这时后就需要有流操作了

什么是流

把一个文件比喻成一个水桶,文件里面的内容比作为水,我们用一根管子(pipe)连接两个桶使得水从一个桶流入另一个桶,这样就慢慢的实现了大文件的复制过程(也就是流的过程)。

从文件读取数据时,可以打开一个文件流,然后从文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,690评论 0 4
  • [TOC] ##Assoc 显示或修改文件扩展名关联 Assoc [.Ext[=[Filetype]]] .Ex...
    btijjj阅读 478评论 0 1
  • 【2017年最新】☞ iOS面试题及答案 设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经...
    紫色冰雨阅读 726评论 0 1
  • 注:本文是通过廖雪峰官网的git学习教程整理出来的个人笔记 git的使用 git的安装 在Linux上安装Git ...
    AndroidCat阅读 235评论 0 0
  • 还是自己太天真 一直以为是懂我的 全是我以为 以后要更加的在自己的道路上走了 因为真的怕是寥寥无几 (最近在健身,...
    三毛的尘土阅读 261评论 0 0

友情链接更多精彩内容