Node基础_Buffer缓冲区

 Buffer(缓冲区)        - Buffer的结构和数组很像,操作的方法也和数组类似        - 数组中不能存储二进制的文件,而Buffer就是专门用来存储二进制数据        - 使用buffer不需要引入模板,直接使用即可        - 在buffer中存储的都是二进制数据,但是在显示时都是以16进制的形式显示            buffer中的每一个元素的范围是从00 - ff  0 - 255            00000000 - 11111111

            计算机 一个0 或 一个1 我们称为一位(bit)

            8bit = 1byte(字节)            1024byte = 1kb            1024kb = 1mb            1024mb = 1gb            1024gb = 1tb

            buffer中的一个元素,占用内存的一个字节

           - Buffer的大小一旦确定,则不能修改,Buffer实际上是对底层内存的直接操作
  var str = "Hello 苏崽崽";

  //将一个字符串保存到buffer中
  var buf = Buffer.from(str);

  console.log(buf.length); //占用内存大小
  console.log(str.length); //字符串的长度
  console.log(buf);

//创建一个指定大小的buffer
//buffer构建函数都是不推荐使用的
var buf2 = new Buffer(10); //10个字节的buffer
console.log(buf2.length);
//创建一个10个字节的buffer
var buf2 = Buffer.alloc(10);
//通过索引,来操作buf中的元素
buf2[0] = 88;
buf2[1] = 255;
buf2[2] = 0xaa;
buf2[3] = 255;

//只要数字在控制台或页面输出一定是10进制,toString可以转换进制
console.log(buf2[2].toString(16));
for(var i =0;i<buf2.length;i++){
    console.log(buf2[i]);
}
//Buffer.allocUnsafe(size)创建一个指定大小的buffer,但是buffer中可能含有敏感数据

var buf3 = Buffer.allocUnsafe(10);
console.log(buf3);
 
Buffer.from(str) 将一个字符串转换为bufferBuffer.alloc(size) 创建一个指定大小的BufferBuffer.alloUnsafe(size) 创建一个指定大小的Buffer,但可能包含敏感数据buf.toString() 将缓冲区中的数据转换为字符串
var buf4 = Buffer.from("我是一段文本数据");
console.log(buf4.toString());

注:具体操作用到Buffer缓冲区时,参考:http://nodejs.cn/api/buffer.html 官方文档查询使用方法

 

原文地址:https://www.cnblogs.com/sunjiaojiao/p/11201189.html

时间: 2024-10-20 17:13:25

Node基础_Buffer缓冲区的相关文章

Node.js Buffer(缓冲区)

JavaScript 语言自身只有字符串数据类型,没有二进制数据类型. 但在处理像TCP流或文件流时,必须使用到二进制数据.因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区. 在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心库.Buffer 库为 Node.js 带来了一种存储原始数据的方法,可以让 Node.js 处理二进制数据,每当需要在 Node.js 中处理I/O操作中移动的数据时,就有可能使用 Buffer 库

node基础(2)

NODE基础(周啸天2) NODE NODE 是一个以webkit(V8)引擎来渲染和解析JS的平台 在没有NODE之前,JS是一门基于客户端浏览器运行的脚本编程语言:JS是前端编程语言: 在有了NODE之后,JS也可以运行在NODE环境中了,我们可以把NODE安装在服务器端,这样我们就可以在服务器端执行JS,JS也可以处理服务器端的业务逻辑了:JS是后台编程语言: JS是全栈编程语言 JS运行在浏览器中,浏览器提供了很多内置的属性和方法(window全局对象):JS如果运行在NODE环境下,它

node基础(3)

NODE基础(周啸天3) NODE HTTP事物 HTTP传输的这件事,能称之为事物,说明这件事情比较的完整:Request + Response,只有请求和响应两个阶段都完成,才算HTTP事物完成 HTTP报文 1.客户端不仅可以向服务器发送请求,还可以把一些内容传递给服务器 2.服务器端也会把一些内容返回给客户端 客户端传递给服务器的内容以及服务器返回给客户端的内容统称为"HTTP报文":请求报文.响应报文 不管是请求还是响应报文,内容中都包含三部分: 起始行 : 请求起始行.响应

node基础知识(1)

NODE基础(周啸天1) NODE 1.常用DOS命令 WIN键+R键 -> cmd -> 打开DOS命令窗口 ipconfig 或者 ipconfig -all :查看本机电脑的IP地址.子网掩码.默认网关.DNS.物理地址(MAC地址)等信息 我们看到的IP地址属于局域网IP或者叫做内网IP,如果大家的子网掩码和默认网关相同,IP地址只有最后一组数据不一样(连接的是同一个路由器/WIFI) ,此时说明大家在同一个局域网内,我们可以通过IP互相访问 cls 清屏 exit 退出 D: 直接进

node基础应用

node基础应用 API art-templat express mongoDB 1.概念 1.Node.js 基于javascript开发,运行在服务端. 2.事件驱动.非阻塞I/O 3.基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好. 2.实操 2.1 安装 node node 官网 检查是否安装成功 node -v /--version 2.2 简单使用 1.node和浏览器一样可以执行js文件 cmd 打开命令窗口 在终端输入 ` node 文件名.

node基础01:简要介绍

1.node vs php 优点 性能高(机制问题) 开发效率高(省了不少优化的事) 应用范围广(可以开发桌面系统,electron框架) 缺点 新,人少 中间件少 IDE不完善 2.node的劣势和解决方案 默认不支持多核,使用cluster可以解决 默认不支持服务器集群,node-http-proxy可以解决 使用nginx做负载均衡,静态的由nginx处理,动态由node处理 forever或node-cluster实现灾难恢复 3.框架选择 比较热门的框架有:express,koa,Ha

node基础

         今天在网上看到了一个原来没有听说过的定义,高阶函数和偏函数.个人觉得这么个形容还是很有创意的.也可能我很土鳖没有见过世面吧!在此稍作解释. function hignFun(){ return function(a,b){ a+b; } } var add = hignFun();       据说这就是高阶函数,其实这么个称谓我觉得也是比较恰当的.类比高数中的高阶函数,还是比较形象的.起码对于记忆标识这种形式的函数是有帮助的. var isType = function (t

nodejs基础 -- buffer缓冲区

JavaScript 语言自身只有字符串数据类型,没有二进制数据类型.但在处理像TCP流或文件流时,必须使用到二进制数据.因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区.在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心库.Buffer 库为 Node.js 带来了一种存储原始数据的方法,可以让 Node.js 处理二进制数据,每当需要在Node.js 中处理I/O操作中移动的数据时,就有可能使用 Buffer 库.原始

Vue.js 运行环境搭建详解(基于windows的手把手安装教学)及vue、node基础知识普及

Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架——只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动复杂的单页应用. 在配置环境之前呢,有些基础的东西还是要和大家普及一下的.如果你已经对Vue.js有所了解,那请点击 配置步骤  跳转到配置环境的阅读,否则,请耐心看完看完. 首先,介绍一下Vue.js的概念,他是干啥的呢?一定要配置vue的运行环境吗? 如上述Vue.js不是个全能的框架,因为他的