In diesem Artikel werden hauptsächlich relevante Informationen zur detaillierten Erklärung des WeChat Mini-Programmpuffers vorgestellt. Freunde, die sie benötigen, können auf
Die detaillierte Erklärung des WeChat Mini-Programmpuffers
Die JavaScript-Sprache selbst hat nur String-Datentypen, keine binären Datentypen.
Aber bei der Verarbeitung von Streams wie TCP oder Dateistreams müssen Binärdaten verwendet werden. Daher ist in Node.js eine Buffer-Klasse definiert, mit der ein Pufferbereich speziell zum Speichern von Binärdaten erstellt wird.
In node.js ist die Buffer-Klasse eine Kernbibliothek, die mit dem Node-Kern geliefert wird. Die Buffer-Bibliothek bietet eine Methode zum Speichern von Rohdaten in Node.js und ermöglicht es Node.js, Binärdaten zu verarbeiten. Wann immer Sie während E/A-Vorgängen in Node.js verschobene Daten verarbeiten müssen, ist es möglich, die Buffer-Bibliothek zu verwenden. . Rohdaten werden in Instanzen der Buffer-Klasse gespeichert. Ein Puffer ähnelt einem ganzzahligen Array, entspricht jedoch einem Teil des Rohspeichers außerhalb des V8-Heapspeichers.
Puffer erstellen
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"。
Nach dem Login kopieren
Buffer.write() schreiben
var buf = new Buffer(200)
var len = buf.write("www.csdn.net")
console.log("写入字节数:" + len)
Nach dem Login kopieren
- string – Der String, der in den Puffer geschrieben werden soll.
- Offset – der Indexwert, bei dem mit dem Schreiben des Puffers begonnen wird. Der Standardwert ist 0.
- length – die Anzahl der geschriebenen Bytes, standardmäßig buffer.length
- encoding – die verwendete Codierung. Der Standardwert ist „utf8“.
Cache read.toString()
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
Nach dem Login kopieren
- Kodierung - die zu verwendende Kodierung. Der Standardwert ist „utf8“.
- start – Gibt die Indexposition an, an der mit dem Lesen begonnen werden soll. Der Standardwert ist 0.
- end – Endposition, standardmäßig das Ende des Puffers.
Puffer zu JSON
var buf = new Buffer('www.runoob.com');
var json = buf.toJSON(buf);
console.log(json);
Nach dem Login kopieren
Merge Buffer.concat([,] )
var buf = new Buffer("北京")
var buf1 = new Buffer("上海")
var buf2 = Buffer.concat([buf,buf1],12)
console.log(buf2.toString())
Nach dem Login kopieren
- Liste ist eine Array-Liste von Pufferobjekten, die zum Zusammenführen verwendet werden.
- totalLength gibt die Gesamtlänge der zusammengeführten Buffer-Objekte an.
Compare.compare(otherBuffer)
Eingeführt in Node.js v0.12.2-Version
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 + "之后");
}
Nach dem Login kopieren
copy.compare(buffer2)
buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])
Nach dem Login kopieren
- targetBuffer – zum Kopieren Pufferobjekt.
- targetStart – Zahl, optional, Standard: 0
- sourceStart – Zahl, optional, Standard: 0
- sourceEnd – Zahl, optional, Standard: buffer.length
var buf1 = new Buffer("beiJing")
var buf2 = new Buffer(8)
buf1.copy(buf2)
console.log("buf2 content:"+buf2.toString())
Nach dem Login kopieren
clipping )
buf.slice([start[, end]])
Nach dem Login kopieren
- Start - Zahl, optional, Standard: 0
- Ende - Zahl, optional, Standard: buffer.length
Rückgabewert
Gibt einen neuen Puffer zurück, der auf denselben Speicher verweist wie der alte Puffer, wird jedoch vom Anfang bis zum Ende des Index abgeschnitten.
var buf1 = new Buffer("beiJing")
var buf2 = buf1.slice(0,8)
console.log("buf2 content:"+buf2)
// beiJing
Nach dem Login kopieren
Länge.Länge
buf.length;
Nach dem Login kopieren
// Gibt die Anzahl der Bytes in diesem Puffer zurück. Beachten Sie, dass dies nicht unbedingt die Größe des Pufferinhalts ist. Die Länge ist die vom Pufferobjekt zugewiesene Speichermenge und ändert sich nicht, wenn sich der Inhalt des Pufferobjekts ändert.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Beispielen für Buffer im WeChat-Applet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!