42

Buffer クラスに関する Node.js ドキュメントで読むことができるように、バッファ

整数の配列に似ていますが、V8 ヒープ外の生のメモリ割り当てに対応します。

ここまでは順調ですね。

今私を困惑させているのは、技術的に言えばバッファとは何かという問題です。特定のエンコーディングを使用して文字列を作成および変換するためのいくつかの追加機能を備えた配列ですか?

それとも「もっと」ありますか?

4

3 に答える 3

35

Buffer は、C/C++ の場合と同じように、メモリのチャンクです。このメモリは、さまざまな長さの整数または浮動小数点数の配列として、またはバイナリ文字列として解釈できます。配列などの高レベルのデータ構造とは異なり、バッファーはサイズ変更できません。

おおよそ次のものに対応します。

  • char*またはchar[]C/C++で
  • byte[]Javaで
  • Pythonで変更可能bytesまたはサイズ変更不可bytearray
  • 変更可能な場合のphpの文字列
于 2013-01-27T19:04:33.070 に答える
6

http://nodejitsu.com/からの説明...

バッファはノードの Buffer クラスのインスタンスであり、生のバイナリ データを処理するように設計されています。各バッファは、V8 の外部に割り当てられた生メモリに対応しています。バッファーは整数の配列のように機能しますが、サイズを変更することはできず、バイナリ データ専用のメソッドが多数あります。さらに、バッファー内の「整数」はそれぞれ 1 バイトを表すため、0 から 255 (2^8 - 1) までの値に制限されます。

続きを読む: Node.js のバッファー

于 2013-01-27T19:05:23.007 に答える