개발 공부/Node.js

버퍼 Buffer

게으른 제이 2023. 3. 30. 08:19

버퍼

컴퓨터 공학에서 버퍼란 스트림 데이터를 조금씩 저장하고, 처리하고, 비우기를 반복하는 메모리 공간이다.

이런 행위를 버퍼링이라고 하며, 메모리 공간 자체 혹은 메모리에 저장된 데이터를 버퍼라고 부른다.

 

 

노드의 버퍼

노드에서 버퍼는 바이너리 데이터를 다루는 데 사용되는 전역 객체다. 문자열은 유니코드 문자의 배열로 표현되지만, 바이너리 데이터는 0과 1의 이진수로 표현된다.

 

Buffer는 바이너리 데이터를 나타내는 데 사용되는 배열과 같은 구조체로, 바이너리 데이터를 다루는 데 필요한 기능을 제공한다.

 

버퍼 사용해보기

Buffer에 string을 저장하게 하는 경우, 문자열 인코딩 방식을 명시해야 한다. 명시하지 않으면 기본적으로 UTF-8 방식으로 인코딩된다.

const stringBuffer = Buffer.from("안녕하세요 Jay입니다.", "utf-8");

// <Buffer ec 95 88 eb 85 95 ed 95 98 ec 84 b8 ec 9a 94 20 4a 61 79 ec 9e 85 eb 8b 88 eb 8b a4 2e>

위 버퍼 객체의 값을 16진수 변환기에서 UTF-8로 디코드하면 정상적으로 출력된다.

버퍼 값을 UTF-8 형식으로 디코드 한 결과