Buffer (버퍼) 란?
- Node.js에서 Buffer는 바이너리 데이터를 저장할 수 있는 특수한 유형의 객체
Why 왜 사용할까?
- 버퍼가 도입되기 이전에는 자바스크립트에서는 바이너리 데이터를 처리할 방법이 없었음
- 속도가 느리고, 바이너리를 처리할 전문적인 도구가 없기 때문에 기존에는 문자열과 같은 원시 값들을 이용해야 했음
- 그렇기 때문에
- 비트와 바이트를 조금 더 쉽게, 그리고 성능에도 유리한 방법으로 조작 할수있도록 제공 됨
How 어떻게 사용할까?
- 처리하는 방식이 자바스크립트의 배열과 유사함
- slice, concat, length, 등을 사용할 수 있음
- 또한 이터러블하며, for-of에서도 사용 가능
- Node.js는 버퍼클래스를 전역 스코프에 expose 하므로 import나 require를 할 필요가 없음
Buffer 생성 기본 함수
- from( ) : 문자열을 버퍼로 변경
- Buffer.from( )
- Buffer을 만드는 가장 뚜렷한 방법
- string, 배열, arrayBuffer 혹은 다른 버퍼 인스턴스를 인수로 받을 수 있음
- 무엇을 넘거주냐에 따라, from( )은 버퍼를 약간씩 다른 방법으로 생성
- 기본적으로 utf-8로 인코딩
- 만약 인수로 다른 버퍼를 넘긴다면 node.js는 해당 버퍼를 복제해서 또 다른 버퍼를 만듦
- 그리고 이렇게 생성된 새로운 버퍼는 메모리의 다른 공간에 저장해두기 때문에, 독립적으로 수정 가능
- alloc( ) : 빈 버퍼를 생성
- 데이터를 채울 필요가 없는 빈 버퍼를 생성하고 싶을 때 유용
- 기본적으로 숫자를 인수로 받으며, 받은 숫자만큼의 빈 사이즈의 버퍼를 생성
- allocUnsafe( ) : 초기화되어 있지 않은 버퍼를 생성
- Buffer.alloc( )을 통한 생성보다 빠르지만 Buffer 인스턴스를 반환 함
LIST
'#2 Framework ✍️ > 2-2 Node.js' 카테고리의 다른 글
[Node.js] NPM vs NPX (0) | 2022.12.09 |
---|---|
[Node.js] Node.js 란?? (0) | 2022.12.09 |