TIL

Buffer

nbcssw 2024. 10. 22. 21:18

Node.js에서 이진 데이터를 다루기 위한 특별한 개체.

일반적으로 JavaScript는 문자열 데이터만 직접적으로 다룰 수 있는데, Buffer는 그 한계를 넘어 이진 데이터를 처리할 수 있게 해준다.

 

특징

  • 데이터를 1Byte씩 나누어서 저장한다.
  • 메모리 공간을 효율적으로 사용할 수 있도록 고정된 크기로 할당되고, 한 번 할당된 메모리는 변경되지 않는다.

 

사용법

버퍼 생성

// 빈 버퍼 생성
Buffer.alloc(size);

// 문자열이나 배열로부터 버퍼 생성
Buffer.from(data);

 

버퍼 조작

// 버퍼는 배열처럼 각 바이트에 접근할 수 있다
const buffer = Buffer.alloc(5);
buffer[0] = 72;  // 'H'의 ASCII 코드
buffer[1] = 101; // 'e'의 ASCII 코드
buffer[2] = 108; // 'l'의 ASCII 코드
buffer[3] = 108; // 'l'의 ASCII 코드
buffer[4] = 111; // 'o'의 ASCII 코드

// .toString()을 통해 버퍼에 담긴 값을 문자열로 바꿀 수 있다
console.log(buffer.toString());  // "Hello"