node.js—Buffer类(二进制数据处理模块)
Buffer类概述
一个用于更好的操作二进制数据的类 我们在操作文件或者网络数据的时候,其实操作的就是二进制数据流
Node为我们提供了一个更加方便的去操作这种数据流的类 Buffer,他是一个全局的类,不需要引入后才能使用,可以直接使用
Buffer类的构造方法
new Buffer(size)
分配一个新的buffer大小是size的8位字节,参数size是一个Number类型的(类似数组的长度),一个长度表示1个字节
创建一个Buffer对象,并为这个对象分配一个大小,当我们为一个Buffer对象分配了大小之后,其长度是固定不变的,不能更改


打印出来的结果是以16进制的方式打印的

new Buffer(array)
分配一个新的Buffer使用一个8位字节Array数组


给某角标赋值


new Buffer(string, [encoding])
存储一个字符串的时候,需要告诉Buffer一个编码,不同编码结果是不一样的,默认编码是utf-8
Node里面并不是支持所有编码,支持的编码有:ascll/utf16le/ucs2/base64/binary/hex


这里直接打印出来的是十六进制的表示
Buffer的属性
Buffer的length属性和buf[index]
buf.length : buffer的bytes大小
buf[index] : 获取或者设置在指定index索引位置的8位字节内容


Buffer的length属性需要注意的地方
这个length的属性指的不是字符的长度,而是字节的长度(buffer的bytes大小).一个中文是3个字节


node.js—Buffer类(二进制数据处理模块)的更多相关文章
- 23. Node.Js Buffer类(缓冲区)-(三)文件读取实例
转自:https://blog.csdn.net/u011127019/article/details/52513109
- 22. Node.Js Buffer类(缓冲区)-(二)
转自:https://blog.csdn.net/u011127019/article/details/52512242
- 21. Node.Js Buffer类(缓冲区)-(一)
转自:https://blog.csdn.net/u011127019/article/details/52512242
- Node.js Buffer(缓冲区)
JavaScript 语言自身只有字符串数据类型,没有二进制数据类型. 但在处理像TCP流或文件流时,必须使用到二进制数据.因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门 ...
- node.js(二)各种模块
我们知道Node.js适合于IO密集型应用,不适合于CPU密集型应用. JS和Node.js区别: JS运行于客户端浏览器中,存在兼容性问题:数据类型:值类型+引用类型(ES+D ...
- [Node.js与数据库]node-mysql 模块介绍
[Node.js与数据库]node-mysql 模块介绍 转载至:https://itbilu.com/nodejs/npm/NyPG8LhlW.html#multiple-statement-q ...
- Node.js进程管理之Process模块
在前面Node.js事件运行机制也有提到,Node.js应用在单个线程运行,但是现在大部分服务器都是多处理器,为了方便使用多个进程,Node.js提供了3个模块.Process模块提供了访问正在运行的 ...
- 《深入浅出Node.js》第2章 模块机制
@by Ruth92(转载请注明出处) 第2章 模块机制 JavaScript 先天缺乏的功能:模块. 一.CommonJS 规范: JavaScript 规范的缺陷:1)没有模块系统:2)标准库较少 ...
- node.js中通过dgram数据报模块创建UDP服务器和客户端
node.js中 dgram 模块提供了udp数据包的socket实现,可以方便的创建udp服务器和客户端. 一.创建UDP服务器和客户端 服务端: const dgram = require('dg ...
随机推荐
- SQL 常用的判断、连表、跨库、去重、分组、ROW_NUMBER()分析函数SQL用法
常用的SQL 由浅入深 大致上回想一下自己常用的SQL,并做个记录,目标是实现可以通过在此页面查找到自己需要的SQL ,陆续补充 有不足之处,请提醒改正 首先我创建了两个库,每个库两张表.(工作 ...
- c# 画布验证码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 48.Linux-普通U盘以及多分区U盘自动挂载
在上章学习33.Linux-实现U盘自动挂载(详解)后,只是讲解了普通U盘挂载,并没有涉及到多分区U盘,接下来本章来继续学习 1.多分区U盘和普通U盘区别 1)U盘插上只会创建一个/dev/sda文件 ...
- 26.QT-模型视图之自定义委托
在上一章学习 25.QT-模型视图 后,本章接着学习视图委托 视图委托(Delegate)简介 由于模型负责组织数据,而视图负责显示数据,所以当用户想修改显示的数据时,就要通过视图中的委托来完成 视图 ...
- python基础学习(九)字典
字典的定义 dictionary(字典) 是 除列表以外 Python 之中 最灵活 的数据类型(有点类似java中的Map) 字典同样可以用来 存储多个数据 通常用于存储 描述一个 物体 的相关信息 ...
- python基础学习(八)元组
元组的定义 Tuple(元组)与列表类似,不同之处在于元组的 元素不能修改 元组 表示多个元素组成的序列 元组 在 Python 开发中,有特定的应用场景 用于存储 一串 信息,数据 之间使用 , 分 ...
- regression and anova
regression一般是统计学的回归回归,研究一个随机变量Y对另一个(X)或一组(X1,X2,-,Xk)变量的相依关系的统计分析方法.研究一 个或多个随机变量Y1 ,Y2 ,-,Yi与另一些变量X1 ...
- JavaScript机器学习之线性回归
译者按: AI时代,不会机器学习的JavaScript开发者不是好的前端工程师. 原文: Machine Learning with JavaScript : Part 1 译者: Fundebug ...
- Ext数字格式化
Ext.util.Format.number(v,format) v :要进行格式化的值format:格式化字符串 0与#的区别:0:在小数位数不够时会补零#:在小数位数不够时不会补零 Ext ...
- angular 分页插件的使用
html: <pagination total-items="totalItems" ng-model="currentPage" items-per-p ...