node. js (9)

5876 단어
Node. js Buffer (버퍼) JavaScript 언어 자체 에 문자열 데이터 형식 만 있 고 바 이 너 리 데이터 형식 은 없습니다.단, TCP 흐름 이나 파일 흐름 을 처리 할 때 바 이 너 리 데 이 터 를 사용 해 야 합 니 다.따라서 Node. js 에 서 는 바 이 너 리 데 이 터 를 전문 적 으로 저장 하 는 캐 시 영역 을 만 드 는 데 사용 되 는 Buffer 클래스 를 정의 합 니 다.Node. js 에서 Buffer 류 는 Node 커 널 과 함께 발 표 된 핵심 라 이브 러 리 입 니 다.Buffer 라 이브 러 리 는 Node. js 에 원본 데 이 터 를 저장 하 는 방법 을 가 져 왔 습 니 다. Node. js 에서 I / O 작업 에서 이동 하 는 데 이 터 를 처리 해 야 할 때마다 Buffer 라 이브 러 리 를 사용 할 수 있 습 니 다.원본 데 이 터 는 Buffer 클래스 의 인 스 턴 스 에 저 장 됩 니 다.하나의 Buffer 는 정수 배열 과 유사 하지만 V8 메모리 이외 의 원본 메모리 에 대응 합 니 다.Buffer 클래스 Node Buffer 클래스 를 만 들 려 면 다양한 방식 으로 만 들 수 있 습 니 다.방법 1 10 바이트 길이 의 Buffer 인 스 턴 스 만 들 기:
var buf = new Buffer(10);

방법 2 주어진 배열 을 통 해 Buffer 인 스 턴 스 를 만 듭 니 다.
var buf = new Buffer([10, 20, 30, 40, 50]);

방법 3 문자열 을 통 해 Buffer 인 스 턴 스 를 만 듭 니 다:
var buf = new Buffer("www.runoob.com", "utf-8");

utf - 8 은 기본 인 코딩 방식 입 니 다. 그 밖 에 다음 과 같은 인 코딩 을 지원 합 니 다. "ascii", "utf 8", "utf16le", "ucs 2", "base 64", "hex".버퍼 에 쓰기 문법 노드 버퍼 에 쓰기 문법 은 다음 과 같 습 니 다.
buf.write(string[, offset[, length]][, encoding])

매개 변수 설명 은 다음 과 같 습 니 다: string - 버퍼 에 기 록 된 문자열 입 니 다.offset - 버퍼 에 쓰기 시작 한 색인 값 입 니 다. 기본 값 은 0 입 니 다.length - 기 록 된 바이트 수 는 기본적으로 buffer. length encoding - 사용 하 는 인 코딩 입 니 다.기본 값 은 'utf 8' 입 니 다.실제 기록 한 크기 를 되 돌려 줍 니 다.buffer 공간 이 부족 하면 일부 문자열 만 기록 합 니 다.실례
buf = new Buffer(256);
len = buf.write("www.runoob.com");

console.log("      : "+  len);

상기 코드 를 실행 하고 출력 결 과 는 다음 과 같 습 니 다.
$node main.js
      : 14

버퍼 에서 데이터 문법 을 읽 고 Node 버퍼 데 이 터 를 읽 는 문법 은 다음 과 같 습 니 다.
buf.toString([encoding[, start[, end]]])

매개 변수 설명 은 다음 과 같 습 니 다: encoding - 사용 하 는 인 코딩 입 니 다.기본 값 은 'utf 8' 입 니 다.start - 읽 기 시작 하 는 색인 위 치 를 지정 합 니 다. 기본 값 은 0 입 니 다.end - 끝 위치, 기본적으로 버퍼 의 끝 입 니 다.값 디 코딩 버퍼 데 이 터 를 되 돌려 주 고 지정 한 인 코딩 으로 문자열 을 되 돌려 줍 니 다.실례
buf = new Buffer(26);
for (var i = 0 ; i < 26 ; i++) {
  buf[i] = i + 97;
}

console.log( buf.toString('ascii'));       //   : abcdefghijklmnopqrstuvwxyz
console.log( buf.toString('ascii',0,5));   //   : abcde
console.log( buf.toString('utf8',0,5));    //   : abcde
console.log( buf.toString(undefined,0,5)); //    'utf8'   ,    : abcde

상기 코드 를 실행 하고 출력 결 과 는 다음 과 같 습 니 다.
$ node main.js
abcdefghijklmnopqrstuvwxyz
abcde
abcde
abcde

Buffer 를 JSON 대상 문법 으로 변환 하고 Node Buffer 를 JSON 대상 으로 변환 하 는 함수 문법 형식 은 다음 과 같 습 니 다.
buf.toJSON()

값 을 되 돌려 JSON 대상 을 되 돌려 줍 니 다.실례
var buf = new Buffer('www.runoob.com');
var json = buf.toJSON(buf);

console.log(json);

상기 코드 를 실행 하고 출력 결 과 는 다음 과 같 습 니 다.
[ 119, 119, 119, 46, 114, 117, 110, 111, 111, 98, 46, 99, 111, 109 ]

버퍼 통합 문법 Node 버퍼 통합 문법 은 다음 과 같 습 니 다.
Buffer.concat(list[, totalLength])

매개 변수 설명 은 다음 과 같 습 니 다: list - 합병 에 사용 되 는 Buffer 대상 배열 목록 입 니 다.totalLength - 합병 후 Buffer 대상 의 총 길 이 를 지정 합 니 다.반환 값 은 여러 구성원 이 합 친 새 Buffer 대상 을 되 돌려 줍 니 다.실례
var buffer1 = new Buffer('   ');
var buffer2 = new Buffer('www.baidu.com');
var buffer3 = Buffer.concat([buffer1,buffer2]);
console.log("buffer3   : " + buffer3.toString());

상기 코드 를 실행 하고 출력 결 과 는 다음 과 같 습 니 다.
buffer3   :    www.baidu.com


버퍼 비교 문법 Node Buffer 비교 함수 문법 은 다음 과 같 습 니 다. 이 방법 은 Node. js v 0.12.2 버 전에 도입 되 었 습 니 다.
buf.compare(otherBuffer);

매개 변수 설명 은 다음 과 같 습 니 다. otherBuffer - buf 대상 과 비교 하 는 다른 Buffer 대상 입 니 다.반환 값 은 하나의 숫자 를 되 돌려 줍 니 다. buf 가 otherBuffer 이전, 이후 또는 같 음 을 표시 합 니 다.실례
var buffer1 = new Buffer('ABC');
var buffer2 = new Buffer('ABCD');
var result = buffer1.compare(buffer2);

if(result < 0) {
   console.log(buffer1 + "   " + buffer2 + "  ");
}else if(result == 0){
   console.log(buffer1 + "   " + buffer2 + "  ");
}else {
   console.log(buffer1 + "   " + buffer2 + "  ");
}

상기 코드 를 실행 하고 출력 결 과 는 다음 과 같 습 니 다.
ABC ABCD  

복사 버퍼 문법 Node 버퍼 복사 문법 은 다음 과 같다. buf. copy (targetBuffer [, targetStart [, sourceStart [, sourceEnd]]]) 매개 변 수 는 다음 과 같다. targetBuffer - 복사 할 Buffer 대상.targetStart - 숫자, 선택 가능, 기본 값: 0 sourceStart - 숫자, 선택 가능, 기본 값: 0 sourceEnd - 숫자, 선택 가능, 기본 값: buffer. length 반환 값 은 반환 값 이 없습니다.실례
var buffer1 = new Buffer('ABC');
//        
var buffer2 = new Buffer(3);
buffer1.copy(buffer2);
console.log("buffer2 content: " + buffer2.toString());

상기 코드 를 실행 하고 출력 결 과 는 다음 과 같 습 니 다.
buffer2 content: ABC

버퍼 커팅 노드 버퍼 커팅 문법 은 다음 과 같 습 니 다.
buf.slice([start[, end]])

매개 변수 설명 은 다음 과 같 습 니 다. start - 숫자, 선택 가능, 기본 값: 0 end - 숫자, 선택 가능, 기본 값: buffer. length 반환 값 은 새로운 버퍼 를 되 돌려 줍 니 다. 오래된 버퍼 와 같은 메모 리 를 가리 키 지만 색인 start 에서 end 까지 의 위 치 를 자 릅 니 다.실례
var buffer1 = new Buffer('runoob');
//      
var buffer2 = buffer1.slice(0,2);
console.log("buffer2 content: " + buffer2.toString());

상기 코드 를 실행 하고 출력 결 과 는 다음 과 같 습 니 다.
buffer2 content: ru

버퍼 길이 문법 Node 버퍼 길이 계산 문법 은 다음 과 같 습 니 다.
buf.length;

반환 값 은 버퍼 대상 이 차지 하 는 메모리 길 이 를 되 돌려 줍 니 다.실례
var buffer = new Buffer('www.runoob.com');
//       
console.log("buffer length: " + buffer.length);

상기 코드 를 실행 하고 출력 결 과 는 다음 과 같 습 니 다.
buffer length: 14

좋은 웹페이지 즐겨찾기