buffer
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
バッファは、メモリの固定サイズの可変ブロックを表すオブジェクトです。バッファライブラリは、バッファオブジェクトの作成と操作に関する機能を提供し、グローバル buffer 変数内ですべての機能を提供します。
バッファは低レベルのバイナリデータストレージ構造として使用され、string.pack() および string.unpack() の使用を置き換えることが目的です。使用ケースには、既存のバイナリ形式の読み込みと書き込み、よりコンパクトな形式でデータを処理、カスタムバイナリ形式へのシリアル化、固定長の整数や浮動のようなネイティブメモリタイプの一般的な作業が含まれます。
Roblox API を通過すると、カスタムイベントを介してバッファを送信しても、バッファオブジェクトの身元が保存されず、ターゲットはコピーを受け取ります。他の制限と同様、同じバッファオブジェクトは複数の Actor スクリプトから使用できません (パラレル Luau)。
多くの機能は、バッファの開始時にバイトオフセットを受け入れます。バッファメモリブロックの開始時のオフセットの 0 は、最初のバイトにアクセスします。すべてのオフセット、カウント、サイズは、非ネガティブの整数数字である必要があります。読み込みまたは書き込み操作でアクセスされるバイトがバッファメモリの外にある場合、エラーが発生します。
整数と浮動点で動作する read および write メソッドは、少し端側に 符号化を使用します。
概要
関数
バッファを作成します。
文字列からバッファを作成します。
バッファを文字列に変換します。
バイトでバッファのサイズを返します。
バッファに基づいて、特定の bitCount 整数から 0 から 32 まで、範囲のビットを未署名の整数に読み込みます。
バッファから 8ビットの署名済み整数を読みます。
バッファから 8ビットの未署名整数を読みます。
バッファから 16ビットの署名済み整数を読みます。
バッファから 16ビットの未署名整数を読みます。
バッファから 32ビットの署名済み整数を読みます。
バッファから 32ビットの未署名整数を読みます。
バッファから 32ビットの浮動小数値を読みます。
バッファから 64ビットの浮動小数値を読みます。
データをバッファに書き込み、bitCount から 0 までの特定の整数に基づいて、含まれる32 まで、バッファに書き込みます。
バッファに 8ビットの署名済み整数を書き込みます。
バッファに 8ビットの未署名整数を書き込みます。
バッファに 16ビットの署名された整数を書き込みます。
バッファに 16ビットの未署名整数を書き込みます。
バッファに 32ビットの署名済み整数を書き込みます。
バッファに 32ビットの未署名整数を書き込みます。
バッファに 32ビットの浮動小数値を書き込みます。
バッファに 64ビットの浮動小数値を書き込みます。
バッファからストリングを読みます。
バッファに文字列を書き込みます。
バッファの間のバイトをコピーします。
バッファメモリの領域を 8ビットの未署名整数値に設定します。
関数
readbits
バッファに基づいて、特定の bitCount 整数から 0 から 32 まで、範囲のビットを未署名の整数に読み込みます。例えば:
- buffer.readbits(b, 0, 8) は buffer.readu8(b, 0) と同等です。
- buffer.readbits(b, 0, 16) は buffer.readu16(b, 0) と同等です。
- buffer.readbits(b, 0, 32) は buffer.readu32(b, 0) と同等です。
- buffer.readbits(b, 0, 24) バッファから 24ビットを読みます。
注意してください 0 ビット幅は、ビット数が動的な一般的な場合にエラーが発生しないように、サポートされていますが、0ビットの読み込みは 0 を返します。また、バッファの最大サイズが 1GB なので、bitOffset は、他のバッファ機能のバイトオフセットのような 32ビット整数として処理できません。
パラメータ
戻り値
writebits
データをバッファに書き込み、bitCount から 0 までの特定の整数に基づいて、含まれる32 まで、バッファに書き込みます。value は無署名の 32ビット数として扱われ、最も重要なビットは bitCount のみが書かれます。
注: 0 ビット幅は、ビット数が動的な一般的な場合にエラーが発生しないように、サポートされていますが、0ビットの書き込みには効果がありません。また、バッファの最大サイズが 1GB なので、bitOffset は、他のバッファ機能のバイトオフセットのような 32ビット整数として処理できません。
パラメータ
戻り値
copy
コピー count バイトを source オフセットから sourceOffset 開始して target に targetOffset 移動します。
source と target が同じになる可能性があります。同じバッファ内の重複領域をコピーすると、ソース領域が一時バッファにコピーされ、そのバッファがターゲットにコピーされるようになります。