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 を返します。また、バッファの最大サイズが1 GBであるため、bitOffset は他のバッファ関数のバイトオフセットのように32ビット整数として処理することはできません。
パラメータ
戻り値
writebits
特定の bitCount 整数(0から32まで)に基づいて、バッファにデータを書き込みます。value は無符号の32ビット数として扱われ、最も重要な bitCount ビットのみが書き込まれます。
ビット幅 0 は、ビット数が動的である一般的なケースでエラーが発生しないようにのみサポートされており、0ビットの書き込みは効果がありません。また、バッファの最大サイズが1 GBであるため、bitOffset は他のバッファ関数のバイトオフセットのように32ビット整数として処理することはできません。
パラメータ
戻り値
copy
source からオフセット sourceOffset が指定された count バイトを、target の targetOffset にコピーします。
source と target が同じであることも可能です。同じバッファ内での重複した領域のコピーは、ソース領域が一時バッファにコピーされ、その後そのバッファがターゲットにコピーされるかのように動作します。