정의
- Nodejs에서 buffer는 raw 바이너리 데이터를 저장할 수 있는 특수한 유형의 객체이다
- 일반적으로 컴퓨터에 할당된 메모리 청크, 일반적으로 RAM을 나타낸다
- 일단 버퍼크기를 설정하게 되면, 이후에는 변경할 수 없다.
- 버퍼는 바이트를 저장하는 단위라고 볼 수 있다.
사용
버퍼 생성
- Buffer.from(obj, [encoding])
문자열을 넘기면, 그 문자열을 담고 있는 새로운 버저 객체를 만들어 낸다. 기본적으로, 문자열을 utf-8로 인코딩한다
- Buffer.alloc()
데이터를 채울 필요가 없는 빈 버퍼를 생성하고 싶을 때 사용한다. 기본으로 숫자를 인수로 받으며, 받은 숫자만큼의 빈 사이즈의 버퍼를 생성한다
const buffer = Buffer.alloc(1)
buffer[0] = 0x78
buffer.toString('utf-8')
- Buffer.allocUnsafe()
버퍼안의 내용을 검사하고 0으로 채우는 기본적인 작업을 스킵한다
안전하게 할당된 버퍼를 복사하는 케이스에 사용한다
const originalBuffer = Buffer.from('hello, yceffort')
const copyBuffer = Buffer.allocUnsafe(originalBuffer.length)
originalBuffer.copy(copyBuffer)
copyBuffer.toString()
쓰기
- Buffer.write()
일반적으로 버퍼에 데이터를 쓰는 작업을 진행한다.
기본적으로, utf-8로 별도 오프셋 없이(버퍼 맨처음 부터) 작성된다.
이 메소드를 쓰면, 버퍼를 사용하는데 들었던 바이트를 리턴한다.