1. 程式人生 > 實用技巧 >nodejs中的buffer

nodejs中的buffer

Buffer

  是Nodejs提供的可以直接操作二進位制資料的類

1.string to buffer

var buffer = Buffer.from("hello,world");
console.log(buffer);

<Buffer 68 65 6c 6c 6f 2c 77 6f 72 6c 64>

2.bufferto string

var buffer = Buffer.from("hello,world");
var ss = buffer.toString('utf8');
console.log(ss);

hello,world

3.buffer to base64

var buffer = Buffer.from("hello,world");
var base64 = buffer.toString('base64');
console.log(base64);

aGVsbG8sd29ybGQ=

4.長度獲取

var buffer = Buffer.from(('hello,world.'));
console.log(buffer.length);

12

5.多個buffer的合併

var buffer1 = Buffer.from(('hello,world.'));
var buffer2 = Buffer.from(('你好啊!'));
var buffer3 = Buffer.concat([buffer1, buffer2]); console.log("buffer3內容: " + buffer3.toString());

buffer3內容: hello,world.你好啊!

6.將 Buffer 例項轉換為 JSON 物件

var buffer = Buffer.from(("hello,world"));
console.log(buffer.toJSON());

{
  type: 'Buffer',
  data: [
    104, 101, 108, 108,
    111, 44, 119, 111,
    114, 108, 100
  ]
}

7.分割

var buffer = Buffer.from(("hello,world"));
console.log(buffer.slice(1,6).toString());

ello,

8.比較

返回一個數字,表示buf在otherBuffer之前,之後或相同

var buffer1 = Buffer.from('hello');
var buffer2 = Buffer.from('he');
var result = buffer1.compare(buffer2);
if (result < 0) {
     console.log(buffer1 + "" + buffer2 + "之前");
} else if (result == 0) {
     console.log(buffer1 + "" + buffer2 + "相同");
} else {
     console.log(buffer1 + "" + buffer2 + "之後");
}

hello 在 he之後