본문 바로가기

개발

[Node.js] buffer 사용하기


MEAN STACK node.js

테스트 환경 : Windows 10 64-bit

노드 buffer 사용하기.




우선 테스트를 위해 js파일 하나를 만들자.

첫번째 테스트를 위해 아래 코드를 입력한다.


utf8 인코딩 된 텍스트를 버퍼에 담는 코드이다.

콘솔 로그를 통해 여러 인코딩된 텍스트를 확인 할 수 있다.




버퍼 인코딩

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// utf8로 인코딩 
var buf = new Buffer("abcd 1234 한글""utf8");
 
// 버퍼 인코딩
//"ascii", "utf8", "utf16le", "ucs2", "base64", "hex".
console.log('ascii =====> ' + buf.toString('ascii'));    
console.log('utf16le =====> ' + buf.toString('utf16le'));  
console.log('ucs2 =====> ' + buf.toString('ucs2'));    
console.log('base64 =====> ' + buf.toString('base64'));  
console.log('hex =====> ' + buf.toString('hex'));    
 
// 버퍼 생성시 utf8로 인코딩 됨.
console.log('undefined =====> ' + buf.toString(undefined)); 
console.log('utf8 =====> ' + buf.toString('utf8',10,16 )); 
cs



명령프롬프트(CMD)를 열어 노드를 실행.

node buffer.js



결과출력

ascii =====> abcd 1234 mj8

utf16le =====> 扡摣ㄠ㌲‴闭肸

ucs2 =====> 扡摣ㄠ㌲‴闭肸

base64 =====> YWJjZCAxMjM0IO2VnOq4gA==

hex =====> 61626364203132333420ed959ceab880

undefined =====> abcd 1234 한글

utf8 =====> 한글




버퍼를 JSON으로 변환

1
2
3
4
5
// 버퍼를 json으로 변환
var bufJson = new Buffer('str');
var json = bufJson.toJSON(bufJson);
 
console.log(json);
cs




결과 출력

{ type: 'Buffer', data: [ 115, 116, 114 ] }




버퍼 합치기

1
2
3
4
5
6
// 버퍼 합치기
var ccBuffer1 = new Buffer('buffer1과 ');
var ccBuffer2 = new Buffer(' buffer2를 합친다.');
var ccBuffer3 = Buffer.concat([ccBuffer1,ccBuffer2]);
console.log("ccBuffer3 content: " + ccBuffer3.toString());
cs



결과출력

ccBuffer3 content: buffer1과  buffer2를 합친다.




버퍼 비교

1
2
3
4
5
6
7
8
9
10
11
12
// 버퍼 비교
var cpBuffer1 = new Buffer('한글 비교');
var cpBuffer2 = new Buffer('비교 한글');
var result = cpBuffer1.compare(cpBuffer2);
 
if(result < 0) {
   console.log(cpBuffer1 + ' comes before ' + cpBuffer2);
}else if(result == 0){
   console.log(cpBuffer1 + ' is same as ' + cpBuffer2);
}else {
   console.log(cpBuffer1 + ' comes after ' + cpBuffer2);
}

cs



결과출력

한글 비교 comes after 비교 한글




버퍼 복사

1
2
3
4
5
// 버퍼 복사
var copyBuffer1 = new Buffer('ABC한글복사');
var copyBuffer2 = new Buffer(copyBuffer1.length);
copyBuffer1.copy(copyBuffer2);
console.log('copyBuffer1 -> copyBuffer2 copy: ' + copyBuffer2.toString());
cs



결과출력

copyBuffer1 -> copyBuffer2 copy: ABC한글복사




버퍼 자르기

1
2
3
4
5
// 버퍼 자르기
var buffer1 = new Buffer('English 한글 01234');
console.log("slice 0,7 : " + buffer1.slice(0,7).toString());
console.log("slice 8,14 : " + buffer1.slice(8,14).toString());
console.log("slice 15,20 : " + buffer1.slice(15,20).toString());
cs



결과출력

slice 0,7 : English

slice 8,14 : 한글

slice 15,20 : 01234



더 많은 버퍼 관련 메서드를 확인하고자 한다면 아래 참조 사이트를 클릭.


참조 : http://www.tutorialspoint.com/nodejs/nodejs_buffers.htm






맨 위로