首页技术文章正文

怎样使用Buffer()构造函数创建Buffer对象?

更新时间:2021-12-10 来源:黑马程序员 浏览量:

下面开始介绍用来存储二进制数据的Buffer 缓冲区。

缓冲区是在内容中操作数据的容器,Node:.js中的Buffer缓冲区模块,支持开发者在缓冲区结构中创建、读取、写入和操作二进制数据,该模块是全局性的,所以在使用时不需要使用requireO函数来加载。

在Node.js手册中查找到Buffer的创建方式,具体如下:

new Buffer(array)、 new Buffer(buffer)、new Buffer(arrayBuffer[, byteOffset [, length]])、new Buffer(size)、 new Buffer(str[, encoding])。

从上述方式中可以看出,Buffer()构造函数用于创建Buffer对象,其中的参数可以是字节(size)、数组(array)、buffer对象、字符串(str)等。


方法1.传入字节:

使用Buffer自己创建一个内存空间,单位为字节,语法如下:

var buf = new Buffer(size);

在上述语法中,size代表字节大小,例如创建了5个字节的内存空间,就向Buffer()构造函数中传递参数5。

方法2.传入数组:

通过传入数组方式创建Buffer实例,语法如下:

var buf = new Buffer([10, 20, 30, 40, 50]);

在上述语法中参数为自定义数组。

方法3.传入字符串和编码:

var buf = new Buffer("hello", "utf-8");

在上述方法中,"hello"为JavaScript字符串,Buffer和JavaScript字符串对象之间的转换需要显式地调用编码方法来完成,“utf-8”为Buffer默认支持的编码方式,可以省略。

除utf-8编码外,Buffer同样支持以下编码:

(1)ascii:仅用于7位ASCIⅡ字符。这种编码方法非常快,并且会丢弃高位数据。

(2)utf16le:两个字节,UTF-16LE代表Unicode转换格式——16位小端字节序。

(3)ucs2:两个字节,以小尾字节序(Little-Endian)编码的 Unicode 字符。它只能对BMP(基本多文种平面,U+0000~U+FFFF)范围内的字符编码。

(4)base64:Base64字符串编码,Base64是网络上最常见的用于传输8字节代码的编码方式之一。

(5)hex:Hex字符串编码,Hex全称是Intel HEX。Hex文件是由一行行符合Intel,HEX文件格式的文本所构成的ASCII文本文件。在Intel HEX文件中,每一行包含一个HEX记录。这些记录由对应机器语言码或常量数据的十六进制编码数字组成。

IT培训班





猜你喜欢:

Java String类和StringBuffer类有什么区别?

Node.js起源?Node.js有哪些特点?

Node.JS下载与安装详细教程

黑马程序员Nodejs视频教程下载

黑马程序员前端与移动开发培训

分享到:
在线咨询 我要报名
和我们在线交谈!