Node.js_Buffer缓冲区

/**
 * Created by cxm on 2016/1/11.
 */

/*
// 方式1
var buf = new Buffer(10);
console.log(buf.toString());

// 方式2
var buf = new Buffer([10, 20, 30, 40, 50]);
console.log(buf.toString());

// 方式3
var buf = new Buffer("www.github.com", "utf-8");
console.log(buf.toString());

// 写入缓冲区,如果 buffer 空间不足, 则只会写入部分字符串。
var buf = new Buffer(20);
var len = buf.write("www.github.com");
console.log(buf.toString());
console.log(len);
*/

//var buf = new Buffer(26);
//for (var i = 0; i < 26; i ++)
//{
//    buf[i] = i + 97;
//}
//console.log(buf.toString("ascii"));
//console.log(buf.toString("ascii", 0, 5));
//console.log(buf.toString("utf-8", 0, 5));
//console.log(buf.toString(undefined, 0, 5));

// Buffer转换成Json对象
//var buf = new Buffer("www.github.com");
//console.log(buf.toJSON());

// 缓冲区合并
//var buf1 = new Buffer("缓冲区");
//var buf2 = new Buffer("www.github.com");
//var buf3 = Buffer.concat([buf1,  buf2]);
//console.log(buf3.toString());

// 缓冲区比较
//var buf1 = new Buffer("ABC");
//var buf2 = new Buffer("ABCD");
//var result = buf1.compare(buf2);
//
//if (result < 0)
//{
//    console.log(buf1 + "在" + buf2 + "之前");
//}
//else if (result == 0)
//{
//    console.log(buf1 + "与" + buf2 + "相同");
//}
//else
//{
//    console.log(buf1 + "在" + buf2 + "之后");
//}

// 缓冲区拷贝
//var buf1 = new Buffer("ABC");
//var buf2 = new Buffer(3);
//buf1.copy(buf2);
//console.log(buf2.toString());

// 缓冲区裁切
//var buf1 = new Buffer("ABCDEF");
//var buf2 = buf1.slice(0, 2);
//console.log(buf2.toString());

// 缓冲区长度
var buf = new Buffer("ABCDEF");
console.log(buf.length);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Node.js缓冲区Buffer)是用于在网络通信、文件操作等场景下,处理二进制数据的类。它类似于数组,但是可以存储不同类型的数据,并提供了一系列方法用于操作数据。 Node.js缓冲区是一个全局对象,可以直接使用。它的构造函数如下: ```javascript var buf = new Buffer(size) ``` 其中,size 表示缓冲区的大小,单位为字节。缓冲区的大小一旦确定,就不能再改变。 除了使用构造函数创建缓冲区外,还可以使用字面量来创建缓冲区,例如: ```javascript var buf = new Buffer('hello world', 'utf8') ``` 上述代码将字符串 'hello world' 转换成了一个缓冲区,使用的字符编码为 UTF-8。 Node.js缓冲区提供了一系列方法,用于读取、写入、截取、比较等操作。常用的方法包括: - buf.toString():将缓冲区转换成字符串。 - buf.write(string[, offset[, length]][, encoding]):将一个字符串写入缓冲区。 - buf.slice([start[, end]]):从缓冲区中截取一部分数据。 - buf.compare(otherBuffer):比较两个缓冲区的大小。 - buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]]):将缓冲区的数据复制到另一个缓冲区中。 除了以上方法,缓冲区还提供了许多其他的方法,可以根据具体需求选择使用。 需要注意的是,Node.js缓冲区是一种底层的数据结构,使用不当可能会导致内存泄漏等问题。因此,在使用缓冲区时,应该特别小心。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值