Buffer.from()
- Buffer.from()메서드로 새로운 버퍼 생성 배열과 문자 둘다 가능
- new Buffer() 생성자 함수는 더이상 사용하지 않음
//주어진 배열의 값을 사용하여 새로운 Buffer 생성
const bufferArray = Buffer.from([1, 2, 3, 4, 5]);
//생성한 버퍼 출력
console.log(bufferArray)
//주어진 문자열의 값을 사용하여 새로운 Buffer 생성
const bufferString = Buffer.from('Hello, World!');
//생성한 문자열 버퍼 출력
console.log(bufferString)
//버퍼를 문자열로 변환(utf-8)
console.log(bufferString.toString('utf-8'))
Buffer.toJSON()
- 문자열을 버퍼로 생성한 후 json형태로 변환
- json으로 변환된 버퍼의 type과 data에 접근 가능
//toJSON Buffer JSON으로 변환
const bufferString = Buffer.from('안녕하세요');
const json = bufferstring.toJSON();
console.log(bufferString) // toJSON 메서드는 원본을 건드리지 않음
console.log(json);
console.log(json.type);
console.log(json.data);
Buffer.compre()
- buffer.compre()메서드로 두개의 버퍼를 비교가능
- 결과값이 양수일때는 첫번쨰 버퍼의 길이가 두번쨰 버퍼의 길이보다 긴 만큼 출력
- 같을 떄는 0
- 음수일 때는 두번째 버퍼가 첫번째 버퍼의 길이보다 긴만큼 출력
const bufferstr1 = Buffer.from('안녕하세요');
const bufferstr2 = Buffer.from('안녕하십니까');
console.log(bufferstr1)
console.log(bufferstr2)
//비교할버퍼1.compare(비교할버퍼2)
console.log(bufferstr1.compare(bufferstr2));
Buffer.alloc()
- 버퍼의 크기를 지정하여 버퍼의 크기보다 큰 데이터는 입력될 수없도록 제한
- Buffer.alloc() 메서드의 첫번쨰 인자로 할당할 byte의 크기
- 두번쨰 인자로 Buffer로 생성할 데이터 입력
//buffer1은 오직 10byte만 담을 수 잇음
const buffer = Buffer.alloc(10);
//0부터9까지는 딱 10byte
const bufferStr1 = Buffer.alloc(10, '0123456789');
console.log(bufferStr1)
console.log(bufferStr1.toString('utf-8'))
//0~9까지만 bufferStr2에 할당되고 나머지 데이터는 입력되지 못함
const bufferStr2 = Buffer.alloc(10, '0123456789asfkasklfnkl');
console.log(bufferStr2)
console.log(bufferStr2.toString('utf-8'))
Buffer 속성에 접근
- 버퍼의 type은 object
- 버퍼의 길이 속성과
- 바이트의 길이에 접근가능
- 이터러블 객체, 다른 메서드들에도 접근 가능
const buffer = Buffer.alloc(20, "안녕하세요");
console.log(buffer.length)
console.log(buffer.byteLength)
console.log(buffer.fill('1'))
console.log(typeof buffer) //object
'Node.js' 카테고리의 다른 글
Node.js 모듈 (0) | 2023.07.27 |
---|---|
Node.js 보안관련 문제 (0) | 2023.07.25 |
Cluster 모듈 (0) | 2023.06.10 |
Process 모듈 (0) | 2023.06.10 |
dotenv 환경변수 설정하기 (0) | 2023.05.04 |