この記事は主に、WeChat アプレットのバッファ バッファの詳細な説明に関する関連情報を紹介します。必要な友人は参照してください
WeChat アプレットのバッファ バッファの詳細な説明
JavaScript 言語自体には、文字列データ型であり、バイナリ型のデータはありません。
ただし、TCP やファイル ストリームなどのストリームを処理する場合は、バイナリ データを使用する必要があります。そのため、Node.js では、バイナリ データを格納するための専用のバッファ領域を作成するために使用される Buffer クラスが定義されています。
node.js では、Buffer クラスは Node カーネルとともにリリースされるコア ライブラリです。バッファ ライブラリは、生データを Node.js に保存する方法を提供し、Node.js での I/O 操作中に移動されたデータを処理する必要があるときはいつでも、Node.js でバッファ ライブラリを使用できるようにします。 。生データは Buffer クラスのインスタンスに保存されます。バッファは整数配列に似ていますが、V8 ヒープ メモリの外側にある生のメモリの一部に対応します。
バッファの作成
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"。
Writebuffer.write()
var buf = new Buffer(200) var len = buf.write("www.csdn.net") console.log("写入字节数:" + len)
string - バッファに書き込まれる文字列。
offset - バッファへの書き込みが開始されるインデックス値、デフォルトは 0 です。
length - 書き込まれたバイト数、デフォルトはbuffer.length
encoding - 使用されるエンコーディング。デフォルトは 'utf8' です。
キャッシュ 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
encoding - 使用されるエンコーディング。デフォルトは 'utf8' です。
start - 読み取りを開始するインデックス位置を指定します。デフォルトは 0 です。
end - 終了位置、デフォルトはバッファーの最後です。
Buffer to JSON
var buf = new Buffer('www.runoob.com'); 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 は、マージされた Buffer オブジェクトの合計の長さを指定します。
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 - 予定コピーされたバッファオブジェクト。
targetStart - 数値、オプション、デフォルト: 0
sourceStart - 数値、オプション、デフォルト: 0
sourceEnd - 数値、オプション、デフォルト:buffer.length
var buf1 = new Buffer("beiJing") var buf2 = new Buffer(8) buf1.copy(buf2) console.log("buf2 content:"+buf2.toString())
buf.slice([start[, end]])
戻り値
var buf1 = new Buffer("beiJing") var buf2 = buf1.slice(0,8) console.log("buf2 content:"+buf2) // beiJing
length .length
buf.length;
以上がWeChat アプレットのバッファの例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。