Node.js 버퍼


JavaScript 언어 자체에는 바이너리 데이터 유형이 아닌 문자열 데이터 유형만 있습니다.

그러나 TCP나 파일 스트림과 같은 스트림을 처리할 때는 바이너리 데이터를 사용해야 합니다. 따라서 Node.js에서는 바이너리 데이터를 저장하기 위한 버퍼 영역을 생성하는 데 사용되는 Buffer 클래스가 정의됩니다.

Node.js에서 Buffer 클래스는 Node 커널과 함께 출시된 핵심 라이브러리입니다. Buffer 라이브러리는 Node.js에 원시 데이터를 저장하는 방법을 제공하여 Node.js가 바이너리 데이터를 처리할 수 있도록 합니다. Node.js에서 I/O 작업 중에 이동된 데이터를 처리해야 할 때마다 Buffer 라이브러리를 사용할 수 있습니다. . 원시 데이터는 Buffer 클래스의 인스턴스에 저장됩니다. 버퍼는 정수 배열과 유사하지만 V8 힙 메모리 외부의 원시 메모리 조각에 해당합니다.


Buffer 클래스 만들기

Node Buffer 클래스는 다양한 방법으로 만들 수 있습니다.

방법 1

10바이트 길이의 Buffer 인스턴스 생성:

var buf = new Buffer(10);

방법 2

지정된 배열에서 Buffer 인스턴스 생성:

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

방법 3

문자열에서 Buffer 인스턴스 생성:

var buf = new Buffer("www.php.cn", "utf-8");

utf-8은 기본 인코딩이며 "ascii", "utf8", "utf16le", "ucs2", "base64" 및 "hex" 인코딩도 지원합니다.


Write Buffer

Syntax

노드 버퍼를 작성하는 구문은 다음과 같습니다.

buf.write(string[, offset[, length]][, encoding])

Parameters

매개 변수에 대한 설명은 다음과 같습니다.

  • string - 버퍼에 쓸 문자열입니다.

  • offset - 버퍼 쓰기가 시작되는 인덱스 값, 기본값은 0 입니다.

  • length - 쓴 바이트 수, 기본값은 buffer.length

  • encoding - 사용되는 인코딩입니다. 기본값은 'utf8' 입니다.

반환 값

실제 쓴 크기를 반환합니다. 버퍼 공간이 부족하면 문자열의 일부만 기록됩니다.

Instance

buf = new Buffer(256);
len = buf.write("www.php.cn");

console.log("写入字节数 : "+  len);

위 코드를 실행하면 출력 결과는 다음과 같습니다.

$node main.js
写入字节数 : 14

버퍼에서 데이터 읽기

Syntax

노드 버퍼 데이터를 읽는 구문은 다음과 같습니다.

buf.toString([encoding[, start[, end]]])

Parameters

매개 변수는 다음과 같습니다.

  • encoding - 사용된 인코딩입니다. 기본값은 'utf8' 입니다.

  • start - 읽기를 시작할 인덱스 위치를 지정하며 기본값은 0입니다.

  • end - 끝 위치, 기본값은 버퍼 끝입니다.

반환값

버퍼 데이터를 디코딩하고 지정된 인코딩을 사용하여 문자열을 반환합니다.

Instance

buf = new Buffer(26);
for (var i = 0 ; i < 26 ; i++) {
  buf[i] = i + 97;
}

console.log( buf.toString('ascii'));       // 输出: abcdefghijklmnopqrstuvwxyz
console.log( buf.toString('ascii',0,5));   // 输出: abcde
console.log( buf.toString('utf8',0,5));    // 输出: abcde
console.log( buf.toString(undefined,0,5)); // 使用 'utf8' 编码, 并输出: abcde

위 코드를 실행하면 출력 결과는 다음과 같습니다.

$ node main.js
abcdefghijklmnopqrstuvwxyz
abcde
abcde
abcde

Convert Buffer to JSON object

Syntax

Node Buffer를 JSON 객체로 변환하는 함수 구문 형식은 다음과 같습니다.

buf.toJSON()

반환 값

JSON 개체를 반환합니다.

Instance

var buf = new Buffer('www.php.cn');
var json = buf.toJSON(buf);

console.log(json);

위 코드를 실행하면 출력 결과는 다음과 같습니다.

[ 119, 119, 119, 46, 114, 117, 110, 111, 111, 98, 46, 99, 111, 109 ]

Buffer merge

Syntax

Node 버퍼 병합 구문은 다음과 같습니다.

Buffer.concat(list[, totalLength])

Parameters

매개 변수에 대한 설명은 다음과 같습니다.

  • list - 병합할 버퍼 개체의 배열 목록입니다.

  • totalLength - 병합된 버퍼 개체의 전체 길이를 지정합니다.

반환 값

여러 멤버를 결합하는 새로운 Buffer 개체를 반환합니다.

Example

var buffer1 = new Buffer('php中文网 ');
var buffer2 = new Buffer('www.php.cn');
var buffer3 = Buffer.concat([buffer1,buffer2]);
console.log("buffer3 内容: " + buffer3.toString());

위 코드를 실행하면 출력 결과는 다음과 같습니다.

buffer3 内容: php中文网 www.php.cn

Buffer 비교

Syntax

Node Buffer 비교의 함수 구문은 다음과 같습니다. 이 방법은 Node.js v0.12.2 버전에서 도입되었습니다. :

buf.compare(otherBuffer);

Parameters

매개변수는 다음과 같이 설명됩니다:

  • otherBuffer - buf 개체와 비교되는 또 다른 Buffer 개체입니다.

반환 값

bufotherBuffer 이전, 이후 또는 같음을 나타내는 숫자를 반환합니다.

Example

var buffer1 = new Buffer('ABC');
var buffer2 = new Buffer('ABCD');
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 + "之后");
}

위 코드를 실행하면 출력 결과는 다음과 같습니다.

ABC在ABCD之前

Copy buffer

Syntax

노드 버퍼 복사 구문은 다음과 같습니다.

buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])

Parameters

매개 변수에 대한 설명은 다음과 같습니다.

  • targetBuffer - 복사할 Buffer 개체입니다.

  • targetStart - 숫자, 선택, 기본값: 0

  • sourceStart - 숫자, 선택, 기본값: 0

  • sourceEnd - 숫자, 선택, 기본값: buffer.length

반환값

반환값이 없습니다.

Instance

var buffer1 = new Buffer('ABC');
// 拷贝一个缓冲区
var buffer2 = new Buffer(3);
buffer1.copy(buffer2);
console.log("buffer2 content: " + buffer2.toString());

위 코드를 실행하면 출력 결과는 다음과 같습니다.

buffer2 content: ABC

Buffer Clipping

노드 버퍼 클리핑 구문은 다음과 같습니다.

buf.slice([start[, end]])

Parameters

Parameters는 다음과 같이 설명됩니다.

  • start - 숫자, 선택 사항, 기본값: 0

  • end - 숫자, 선택 사항, 기본값: buffer.length

반환 값

이전 버퍼와 동일한 메모리를 가리키는 새 버퍼를 반환합니다. 하지만 인덱스 시작부터 끝까지 잘라냅니다.

Example

var buffer1 = new Buffer('php');
// 剪切缓冲区
var buffer2 = buffer1.slice(0,2);
console.log("buffer2 content: " + buffer2.toString());

위 코드를 실행하면 출력 결과는 다음과 같습니다.

buffer2 content: ru

Buffer length

Syntax

노드 버퍼 길이 계산 구문은 다음과 같습니다.

buf.length;

Return value

Buffer가 차지하는 메모리를 반환합니다. 물체 길이.

Example

var buffer = new Buffer('www.php.cn');
//  缓冲区长度
console.log("buffer length: " + buffer.length);

위 코드를 실행하면 출력 결과는 다음과 같습니다.

buffer length: 14

Method Reference Manual

다음은 Node.js Buffer 모듈에서 일반적으로 사용되는 메서드 목록입니다. 이전 버전):

일련번호방법 및 설명
1new Buffer(size)
8비트 바이트로 새로운 크기의 버퍼를 할당합니다. 크기는 kMaxLength보다 작아야 합니다. 그렇지 않으면 RangeError 예외가 발생합니다.
2new Buffer(buffer)
파라미터 버퍼의 데이터를 Buffer 인스턴스에 복사합니다.
3new Buffer(str[, 인코딩])
들어오는 str 문자열을 포함하는 새 버퍼를 할당합니다. 인코딩 인코딩의 기본값은 'utf8'입니다.
4buf.length
이 버퍼의 바이트 수를 반환합니다. 이는 반드시 버퍼 내용의 크기는 아닙니다. length는 버퍼 객체에 의해 할당된 메모리 양이며, 버퍼 객체의 내용이 변경되더라도 변경되지 않습니다.
5buf.write(string[, offset[, length]][, 인코딩])
매개변수 오프셋 오프셋과 지정된 인코딩 인코딩 방법에 따라 매개변수 문자열 데이터를 버퍼에 씁니다. 오프셋의 기본값은 0이고, 기본 인코딩 방식은 utf8입니다. length는 기록할 문자열의 크기(바이트)입니다. 작성된 8비트 바이트 스트림 수를 나타내는 숫자 유형을 반환합니다. 버퍼에 전체 문자열을 저장할 공간이 충분하지 않으면 문자열의 일부만 씁니다. 길이의 기본값은 buffer.length - 오프셋입니다. 이 방법은 부분 문자를 쓰지 않습니다.
6buf.writeUIntLE(value, offset, byteLength[, noAssert])
오프셋과 byteLength에 의해 결정되며 48비트 계산을 지원합니다.
var b = new Buffer(6);
b.writeUIntBE(0x1234567890ab, 0, 6);
// <Buffer 12 34 56 78 90 ab>
noAssert 값은 다음과 같습니다. true이면 값과 오프셋의 유효성이 더 이상 확인되지 않습니다. 기본값은 거짓입니다.
7buf.writeUIntBE(value, offset, byteLength[, noAssert])
오프셋과 byteLength에 의해 결정되고 48비트 계산을 지원하는 버퍼에 값을 씁니다. noAssert 값이 true이면 값 및 오프셋의 유효성이 더 이상 확인되지 않습니다. 기본값은 거짓입니다.
8buf.writeIntLE(value, offset, byteLength[, noAssert])
오프셋과 byteLength에 의해 결정되고 48비트 계산을 지원하는 버퍼에 값을 씁니다. noAssert 값이 true이면 값 및 오프셋의 유효성이 더 이상 확인되지 않습니다. 기본값은 거짓입니다.
9buf.writeIntBE(value, offset, byteLength[, noAssert])
오프셋과 byteLength에 의해 결정되고 48비트 계산을 지원하는 버퍼에 값을 씁니다. noAssert 값이 true이면 값 및 오프셋의 유효성이 더 이상 확인되지 않습니다. 기본값은 거짓입니다.
10buf.readUIntLE(offset, byteLength[, noAssert])
48자리 이하의 숫자 읽기를 지원합니다. noAssert 값이 true이면 offset은 더 이상 버퍼 길이를 초과하는지 여부를 확인하지 않습니다. 기본값은 false입니다.
11buf.readUIntBE(offset, byteLength[, noAssert])
48자리 이하의 숫자 읽기를 지원합니다. noAssert 값이 true이면 offset은 더 이상 버퍼 길이를 초과하는지 여부를 확인하지 않습니다. 기본값은 false입니다.
12buf.readIntLE(offset, byteLength[, noAssert])
48자리 이하의 숫자 읽기를 지원합니다. noAssert 값이 true이면 offset은 더 이상 버퍼 길이를 초과하는지 여부를 확인하지 않습니다. 기본값은 false입니다.
13buf.readIntBE(offset, byteLength[, noAssert])
48자리 이하의 숫자 읽기를 지원합니다. noAssert 값이 true이면 offset은 더 이상 버퍼 길이를 초과하는지 여부를 확인하지 않습니다. 기본값은 false입니다.
14buf.toString([encoding[, start[, end]]])
인코딩 매개변수에 따라 디코딩된 문자열 유형을 반환합니다(기본값은 'utf8'). 또한 전달된 매개변수 start(기본값은 0) 및 end(기본값은 buffer.length)를 값 범위로 사용합니다.
15buf.toJSON()
Buffer 인스턴스를 JSON 객체로 변환합니다.
16buf[index]
지정된 바이트를 가져오거나 설정합니다. 반환 값은 바이트를 나타내므로 반환 값의 유효한 범위는 16진수에서는 0x00~0xFF, 10진수에서는 0~255입니다.
17buf.equals(otherBuffer)
두 버퍼가 같은지 비교하여 같으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
18buf.compare(otherBuffer)
두 개의 Buffer 객체를 비교하여 buf가 otherBuffer 이전, 이후 또는 동일함을 나타내는 숫자를 반환합니다.
19buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])
버퍼 복사본, 소스와 대상은 동일할 수 있습니다. targetStart 대상 시작 오프셋과 sourceStart 소스 시작 오프셋은 모두 기본적으로 0입니다. sourceEnd 소스 끝 위치 오프셋의 기본값은 소스 buffer.length의 길이입니다.
20buf.slice([start[, end]])
Buffer 개체를 잘라내고 시작(기본값은 0) 및 끝(기본값은 buffer.length)에 따라 인덱스를 오프셋하고 자릅니다. 음수 인덱스는 버퍼 끝에서 계산됩니다.
21buf.readUInt8(offset[, noAssert])
지정된 오프셋을 기반으로 부호 있는 8비트 정수를 읽습니다. noAssert 매개변수가 true이면 offset offset 매개변수가 확인되지 않습니다. 이 경우 오프셋은 버퍼 끝을 넘어 확장될 수 있습니다. 기본값은 거짓입니다.
22buf.readUInt16LE(offset[, noAssert])
지정된 오프셋을 기반으로 하는 특수 엔디안 바이트 순서 형식을 사용하여 부호 있는 16비트 정수를 읽습니다. noAssert 매개변수가 true이면 offset offset 매개변수가 확인되지 않습니다. 이는 오프셋이 버퍼 끝을 넘어 확장될 수 있음을 의미합니다. 기본값은 거짓입니다.
23buf.readUInt16BE(offset[, noAssert])
지정된 오프셋에서 특수 엔디안 바이트 순서 형식을 사용하여 부호 있는 16비트 정수를 읽습니다. noAssert 매개변수가 true이면 offset offset 매개변수가 확인되지 않습니다. 이는 오프셋이 버퍼 끝을 지나 확장될 수 있음을 의미합니다. 기본값은 거짓입니다.
24buf.readUInt32LE(offset[, noAssert])
지정된 오프셋을 기반으로 지정된 엔디안 바이트 순서 형식을 사용하여 부호 있는 32비트 정수를 읽습니다. noAssert 매개변수가 true이면 offset offset 매개변수가 확인되지 않습니다. 이는 오프셋이 버퍼 끝을 넘어 확장될 수 있음을 의미합니다. 기본값은 거짓입니다.
25buf.readUInt32BE(offset[, noAssert])
지정된 오프셋을 기반으로 지정된 엔디안 바이트 순서 형식을 사용하여 부호 있는 32비트 정수를 읽습니다. noAssert 매개변수가 true이면 offset offset 매개변수가 확인되지 않습니다. 이는 오프셋이 버퍼 끝을 넘어 확장될 수 있음을 의미합니다. 기본값은 거짓입니다.
26buf.readInt8(offset[, noAssert])
지정된 오프셋을 기반으로 부호 있는 8비트 정수를 읽습니다. noAssert 매개변수가 true이면 offset offset 매개변수가 확인되지 않습니다. 이는 오프셋이 버퍼 끝을 지나 확장될 수 있음을 의미합니다. 기본값은 거짓입니다.
27buf.readInt16LE(offset[, noAssert])
지정된 오프셋을 기반으로 하는 특수 엔디안 형식을 사용하여 부호 있는 16비트 정수를 읽습니다. noAssert 매개변수가 true이면 offset offset 매개변수가 확인되지 않습니다. 이는 오프셋이 버퍼 끝을 넘어 확장될 수 있음을 의미합니다. 기본값은 거짓입니다.
28buf.readInt16BE(offset[, noAssert])
지정된 오프셋을 기반으로 하는 특수 엔디안 형식을 사용하여 부호 있는 16비트 정수를 읽습니다. noAssert 매개변수가 true이면 offset offset 매개변수가 확인되지 않습니다. 이는 오프셋이 버퍼 끝을 지나 확장될 수 있음을 의미합니다. 기본값은 거짓입니다.
29buf.readInt32LE(offset[, noAssert])
지정된 오프셋을 기반으로 지정된 엔디안 바이트 순서 형식을 사용하여 부호 있는 32비트 정수를 읽습니다. noAssert 매개변수가 true이면 offset offset 매개변수가 확인되지 않습니다. 이는 오프셋이 버퍼 끝을 넘어 확장될 수 있음을 의미합니다. 기본값은 거짓입니다.
30buf.readInt32BE(offset[, noAssert])
지정된 오프셋을 기반으로 지정된 엔디안 바이트 순서 형식을 사용하여 부호 있는 32비트 정수를 읽습니다. noAssert 매개변수가 true이면 offset offset 매개변수가 확인되지 않습니다. 이는 오프셋이 버퍼 끝을 넘어 확장될 수 있음을 의미합니다. 기본값은 거짓입니다.
31buf.readFloatLE(offset[, noAssert])
지정된 오프셋을 기반으로 지정된 엔디안 바이트 순서 형식을 사용하여 32비트 부동 소수점 숫자를 읽습니다. noAssert 매개변수가 true이면 offset offset 매개변수가 확인되지 않습니다. 이는 오프셋이 버퍼 끝을 넘어 확장될 수 있음을 의미합니다. 기본값은 거짓입니다.
32buf.readFloatBE(offset[, noAssert])
지정된 오프셋에서 지정된 엔디안 바이트 순서 형식을 사용하여 32비트 부동 소수점 숫자를 읽습니다. noAssert 매개변수가 true이면 offset offset 매개변수가 확인되지 않습니다. 이는 오프셋이 버퍼 끝을 넘어 확장될 수 있음을 의미합니다. 기본값은 거짓입니다.
33buf.readDoubleLE(offset[, noAssert])
지정된 오프셋을 기반으로 지정된 엔디안 바이트 순서 형식을 사용하여 64비트 double을 읽습니다. noAssert 매개변수가 true이면 offset offset 매개변수가 확인되지 않습니다. 이는 오프셋이 버퍼 끝을 넘어 확장될 수 있음을 의미합니다. 기본값은 거짓입니다.
34buf.readDoubleBE(offset[, noAssert])
지정된 오프셋을 기반으로 지정된 엔디안 바이트 순서 형식을 사용하여 64비트 double을 읽습니다. noAssert 매개변수가 true이면 offset offset 매개변수가 확인되지 않습니다. 이는 오프셋이 버퍼 끝을 넘어 확장될 수 있음을 의미합니다. 기본값은 거짓입니다.
35buf.writeUInt8(value, offset[, noAssert])
전달된 오프셋 오프셋에 따라 버퍼에 값을 씁니다. 참고: 값은 합법적인 부호 있는 8비트 정수여야 합니다. noAssert 매개변수가 true이면 offset offset 매개변수가 확인되지 않습니다. 이는 값이 너무 크거나 오프셋이 버퍼의 끝을 초과하여 값이 삭제될 수 있음을 의미합니다. 이 매개변수에 대해 매우 확신하지 않는 한 이 매개변수를 사용하지 마십시오. 기본값은 거짓입니다.
36buf.writeUInt16LE(value, offset[, noAssert])
전달된 오프셋 오프셋과 지정된 엔디안 형식에 따라 버퍼에 값을 씁니다. 참고: 값은 합법적인 부호 있는 16비트 정수여야 합니다. noAssert 매개변수가 true이면 값 및 오프셋 오프셋 매개변수가 확인되지 않습니다. 이는 값이 너무 크거나 오프셋이 버퍼의 끝을 초과하여 값이 삭제될 수 있음을 의미합니다. 이 매개변수에 대해 확신이 없으면 사용하지 마십시오. 기본값은 거짓입니다.
37buf.writeUInt16BE(value, offset[, noAssert])
전달된 오프셋 오프셋과 지정된 엔디안 형식에 따라 버퍼에 값을 씁니다. 참고: 값은 합법적인 부호 있는 16비트 정수여야 합니다. noAssert 매개변수가 true이면 값 및 오프셋 오프셋 매개변수가 확인되지 않습니다. 이는 값이 너무 크거나 오프셋이 버퍼의 끝을 초과하여 값이 삭제될 수 있음을 의미합니다. 이 매개변수에 대해 확신이 없으면 사용하지 마십시오. 기본값은 거짓입니다.
38buf.writeUInt32LE(value, offset[, noAssert])
전달된 오프셋 오프셋과 지정된 엔디안 형식에 따라 버퍼에 값을 씁니다. 참고: 값은 합법적인 부호 있는 32비트 정수여야 합니다. noAssert 매개변수가 true이면 값 및 오프셋 오프셋 매개변수가 확인되지 않습니다. 이는 값이 너무 크거나 오프셋이 버퍼의 끝을 초과하여 값이 삭제될 수 있음을 의미합니다. 이 매개변수에 대해 확신이 없으면 사용하지 마십시오. 기본값은 거짓입니다.
39buf.writeUInt32BE(value, offset[, noAssert])
전달된 오프셋 오프셋과 지정된 엔디안 형식에 따라 버퍼에 값을 씁니다. 참고: 값은 합법적인 부호 있는 32비트 정수여야 합니다. noAssert 매개변수가 true이면 값 및 오프셋 오프셋 매개변수가 확인되지 않습니다. 이는 값이 너무 크거나 오프셋이 버퍼의 끝을 초과하여 값이 삭제될 수 있음을 의미합니다. 이 매개변수에 대해 확신이 없으면 사용하지 마십시오. 기본값은 거짓입니다.
40buf.writeInt8(value, offset[, noAssert])<br Write="" value="" 들어오는 offset="" offset="" buffer= ""에 따라. 참고: value=""는 legal="" signed="" 8="" 자리 정수여야 합니다. ="" 매개변수="" noassert=""가 ="" true=""인 경우 ="" 및 ="" 오프셋 매개변수의 유효성이 검사되지 않습니다. ="" 이는 =""가 너무 크거나 =""가 =""의 끝을 넘어 확장되어 =""가 삭제될 수 있음을 의미합니다. ="" 이 매개변수에 대해 확신이 없으면 사용하지 마십시오. 기본값은 ""거짓입니다. <="" td="">
41buf.writeInt16LE(value, offset[, noAssert])
들어오는 오프셋 오프셋과 지정된 엔디안 형식에 따른 값을 버퍼에 씁니다. 참고: 값은 유효한 부호 있는 16비트 정수여야 합니다. noAssert 매개변수가 true이면 값 및 오프셋 오프셋 매개변수가 확인되지 않습니다. 이는 값이 너무 크거나 오프셋이 버퍼의 끝을 초과하여 값이 삭제될 수 있음을 의미합니다. 이 매개변수에 대해 확신이 없으면 사용하지 마십시오. 기본값은 false 입니다.
42buf.writeInt16BE(value, offset[, noAssert])
전달된 오프셋 오프셋과 지정된 엔디안 형식에 따라 버퍼에 값을 씁니다. 참고: 값은 유효한 부호 있는 16비트 정수여야 합니다. noAssert 매개변수가 true이면 값 및 오프셋 오프셋 매개변수가 확인되지 않습니다. 이는 값이 너무 크거나 오프셋이 버퍼의 끝을 초과하여 값이 삭제될 수 있음을 의미합니다. 이 매개변수에 대해 확신이 없으면 사용하지 마십시오. 기본값은 false 입니다.
43buf.writeInt32LE(value, offset[, noAssert])
전달된 오프셋 오프셋과 지정된 엔디안 형식을 기반으로 버퍼에 값을 씁니다. 참고: 값은 유효한 부호 있는 32비트 정수여야 합니다. noAssert 매개변수가 true이면 값 및 오프셋 오프셋 매개변수가 확인되지 않습니다. 이는 값이 너무 크거나 오프셋이 버퍼의 끝을 초과하여 값이 삭제될 수 있음을 의미합니다. 이 매개변수에 대해 확신이 없으면 사용하지 마십시오. 기본값은 거짓입니다.
44buf.writeInt32BE(value, offset[, noAssert])
전달된 오프셋 오프셋과 지정된 엔디안 형식에 따라 버퍼에 값을 씁니다. 참고: 값은 유효한 부호 있는 32비트 정수여야 합니다. noAssert 매개변수가 true이면 값 및 오프셋 오프셋 매개변수가 확인되지 않습니다. 이는 값이 너무 크거나 오프셋이 버퍼의 끝을 초과하여 값이 삭제될 수 있음을 의미합니다. 이 매개변수에 대해 확신이 없으면 사용하지 마십시오. 기본값은 거짓입니다.
45buf.writeFloatLE(value, offset[, noAssert])
전달된 오프셋 오프셋과 지정된 엔디안 형식에 따라 버퍼에 값을 씁니다. 참고: 값이 32비트 부동 소수점 값이 아닌 경우 결과는 정의되지 않습니다. noAssert 매개변수가 true이면 값 및 오프셋 오프셋 매개변수가 확인되지 않습니다. 이는 값이 너무 크거나 오프셋이 버퍼의 끝을 초과하여 값이 삭제될 수 있음을 의미합니다. 이 매개변수에 대해 확신이 없으면 사용하지 마십시오. 기본값은 거짓입니다.
46buf.writeFloatBE(value, offset[, noAssert])
전달된 오프셋 오프셋과 지정된 엔디안 형식에 따라 버퍼에 값을 씁니다. 참고: 값이 32비트 부동 소수점 값이 아닌 경우 결과는 정의되지 않습니다. noAssert 매개변수가 true이면 값 및 오프셋 오프셋 매개변수가 확인되지 않습니다. 이는 값이 너무 크거나 오프셋이 버퍼의 끝을 초과하여 값이 삭제될 수 있음을 의미합니다. 이 매개변수에 대해 확신이 없으면 사용하지 마십시오. 기본값은 거짓입니다.
47buf.writeDoubleLE(value, offset[, noAssert])
전달된 오프셋 오프셋과 지정된 엔디안 형식에 따라 버퍼에 값을 씁니다. 참고: 값은 유효한 64비트 double 값이어야 합니다. noAssert 매개변수가 true이면 값 및 오프셋 오프셋 매개변수가 확인되지 않습니다. 이는 값이 너무 크거나 오프셋이 버퍼의 끝을 초과하여 값이 삭제될 수 있음을 의미합니다. 이 매개변수에 대해 확신이 없으면 사용하지 마십시오. 기본값은 거짓입니다.
48buf.writeDoubleBE(value, offset[, noAssert])
전달된 오프셋 오프셋과 지정된 엔디안 형식을 기반으로 버퍼에 값을 씁니다. 참고: 값은 유효한 64비트 double 값이어야 합니다. noAssert 매개변수가 true이면 값 및 오프셋 오프셋 매개변수가 확인되지 않습니다. 이는 값이 너무 크거나 오프셋이 버퍼의 끝을 초과하여 값이 삭제될 수 있음을 의미합니다. 이 매개변수에 대해 확신이 없으면 사용하지 마십시오. 기본값은 거짓입니다.
49buf.fill(value[, offset][, end])
지정된 값을 사용하여 이 버퍼를 채웁니다. offset(기본값은 0)과 end(기본값은 buffer.length)를 지정하지 않으면 전체 버퍼가 채워집니다.