>  기사  >  위챗 애플릿  >  WeChat 미니 프로그램 버퍼 분석

WeChat 미니 프로그램 버퍼 분석

不言
不言원래의
2018-06-27 15:12:392747검색

이 글은 주로 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 - 끝 위치, 기본값은 버퍼 끝입니다. JBuffer를 JSON

R

var buf = new Buffer(&#39;www.runoob.com&#39;);
var json = buf.toJSON(buf);
console.log(json);
E

으로 병합하여 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]]])

targetBuffer - 복사할 Buffer 개체입니다.

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

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

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


  4. var buf1 = new Buffer("beiJing")
    var buf2 = new Buffer(8)
    buf1.copy(buf2)
    console.log("buf2 content:"+buf2.toString())

.slice(버퍼2) 조정

buf.slice([start[, end]])

start -number, 선택 사항, 기본값: 0

  1. end -number, 선택 사항, 기본값: buffer.length

  2. 반환 값

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

var buf1 = new Buffer("beiJing")
var buf2 = buf1.slice(0,8)
console.log("buf2 content:"+buf2)
// beiJing


Length .length

buf.length;

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

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 권장사항:

WeChat 미니 프로그램의 동적 매개변수 전달에 대해

WeChat 미니 프로그램의 비동기 처리에 대해

WeChat 미니 프로그램 개발에서 데이터 저장, 매개변수 전달 및 데이터 캐싱 소개


위 내용은 WeChat 미니 프로그램 버퍼 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.