WeChat 애플릿의 버퍼 예시에 대한 자세한 설명

黄舟
풀어 주다: 2017-09-13 10:51:03
원래의
2848명이 탐색했습니다.

이 글은 주로 WeChat 애플릿의 버퍼 버퍼에 대한 자세한 설명에 대한 관련 정보를 소개합니다. 필요한 친구는 참고할 수 있습니다.

WeChat 애플릿의 버퍼 버퍼에 대한 자세한 설명

JavaScript 언어 자체에는 문자열 데이터 유형이고 이진 데이터 유형은 없습니다.

그러나 TCP나 파일 스트림과 같은 스트림을 처리할 때는 바이너리 데이터를 사용해야 합니다. 따라서 Node.js에서는 바이너리 데이터를 저장하기 위한 버퍼 영역을 생성하는 데 사용되는 Buffer 클래스가 정의됩니다.

node.js에서 Buffer 클래스는 Node 커널과 함께 출시된 핵심 라이브러리입니다. Buffer 라이브러리는 Node.js에 원시 데이터를 저장하는 방법을 제공하여 Node.js가 바이너리 데이터를 처리할 수 있도록 합니다. Node.js에서 I/O 작업 중에 이동된 데이터를 처리해야 할 때마다 Buffer 라이브러리를 사용할 수 있습니다. . 원시 데이터는 Buffer 클래스의 인스턴스에 저장됩니다. 버퍼는 정수 배열과 유사하지만 V8 힙 메모리 외부의 원시 메모리 조각에 해당합니다.

Create Buffer


1.长度为10的实例
var buf = new Buffer(10)
2.通过给定的数组创建
var buf = new Buffer([10,20,30,40,50])
3.通过字符串创建
var buf = new Buffer("www.csdn.net","utf-8")
utf-8 是默认的编码方式
支持以下编码:"ascii", "utf8", "utf16le", "ucs2", "base64" 和 "hex"。
로그인 후 복사

Write buffer.write()


var buf = new Buffer(200)
var len = buf.write("www.csdn.net")
console.log("写入字节数:" + len)
로그인 후 복사
  • string - 버퍼에 기록되는 문자열입니다.

  • offset - 버퍼 쓰기가 시작되는 인덱스 값, 기본값은 0 입니다.

  • length - 쓴 바이트 수, 기본값은 buffer.length입니다.

  • encoding - 사용되는 인코딩입니다. 기본값은 'utf8' 입니다.

Cache read.toString()


buf = new Buffer(26);
for (var i = 0 ; i < 26 ; i++) {
 buf[i] = i + 97;
}

console.log( buf.toString(&#39;ascii&#39;));    // 输出: abcdefghijklmnopqrstuvwxyz
console.log( buf.toString(&#39;ascii&#39;,0,5));  // 输出: abcde
console.log( buf.toString(&#39;utf8&#39;,0,5));  // 输出: abcde
console.log( buf.toString(undefined,0,5)); // 使用 &#39;utf8&#39; 编码, 并输出: abcde
로그인 후 복사
  1. encoding - 사용된 인코딩입니다. 기본값은 'utf8' 입니다.

  2. start - 읽기를 시작할 인덱스 위치를 지정하며 기본값은 0입니다.

  3. end - 끝 위치, 기본값은 버퍼 끝입니다.

Buffer to JSON


var buf = new Buffer(&#39;www.runoob.com&#39;);
var json = buf.toJSON(buf);
console.log(json);
로그인 후 복사

Consolidation Buffer.concat([,])


var buf = new Buffer("北京")
var buf1 = new Buffer("上海")
var buf2 = Buffer.concat([buf,buf1],12)
console.log(buf2.toString())
로그인 후 복사
  • list은 Buffer 개체 배열 목록을 병합하는 데 사용됩니다.

  • totalLength는 병합된 버퍼 객체의 전체 길이를 지정합니다.

Compare.compare(otherBuffer)

Node.js v0.12.2 버전에 도입됨


var buffer1 = new Buffer("AVCX")
var buffer2 = new Buffer("ACVV")

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 + "之后");
}
로그인 후 복사

Copy.compare(buffer2)


buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])
로그인 후 복사
  1. targetBuffer - 될 복사된 버퍼 개체입니다.

  2. targetStart - 숫자, 선택 사항, 기본값: 0

  3. sourceStart - 숫자, 선택 사항, 기본값: 0

  4. sourceEnd - 숫자, 선택 사항, 기본값: buffer.length


var buf1 = new Buffer("beiJing")
var buf2 = new Buffer(8)
buf1.copy(buf2)
console.log("buf2 content:"+buf2.toString())
로그인 후 복사
E裁 Cut .slice(buffer2)


buf.slice([start[, end]])
로그인 후 복사
e

  1. start -번호, 선택 사항, 기본값: 0

  2. end -번호, 선택 사항, 기본값: buffer.length

반환 값

이전 버퍼와 동일한 메모리를 가리키지만 인덱스 시작부터 끝까지 잘린 새 버퍼를 반환합니다.



var buf1 = new Buffer("beiJing")
var buf2 = buf1.slice(0,8)
console.log("buf2 content:"+buf2)
// beiJing
로그인 후 복사

length .length


buf.length;
로그인 후 복사
//이 버퍼의 바이트 수를 반환합니다. 이는 반드시 버퍼 내용의 크기는 아닙니다. length는 버퍼 객체에 의해 할당된 메모리 양이며, 버퍼 객체의 내용이 변경되더라도 변경되지 않습니다.

위 내용은 WeChat 애플릿의 버퍼 예시에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿