buffer

Tampilkan yang Tidak Digunakan Lagi

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Sebuah buffer adalah objek yang mewakili blok mutable ukuran tetap dari memori. Perpustakaan buffer memberikan fungsi untuk pembuatan dan manipulasi objek buffer, menyediakan semua fungsinya di variabel global buffer .

Buffer dimaksudkan untuk digunakan sebagai struktur penyimpanan data biner tingkat rendah, menggantikan penggunaan string.pack() dan string.unpack() . Gunung kasus penggunaan termasuk membaca dan menulis format biner yang ada, bekerja dengan data dalam bentuk lebih kompak, serialisasi ke format biner khusus, dan umumnya bekerja deng

Ketika dilewati melalui API Roblox, termasuk mengirim bufffer melalui acara kustom, objek bufffer tidak tersimpan dan target akan menerima salinan. Mirip dengan batasan lainnya, objek bufffer yang sama tidak dapat digunakan dari beberapa Actor skrip (Parallel Luau).

Banyak fungsi menerimaOffset dalam bytes dari awal memori. Offset 0 dari awal memori akses ke Byte pertama. Semua OFFSET, angka hitung, dan ukuran harus angka positif. Jika bytes yang diakses oleh operasi baca atau menulis di luar memori, kesalahan dilemparkan.

Metode read dan write yang bekerja dengan angka dan float menggunakan sedikit-endian kode pengkodean.

Rangkuman

Fungsi

Fungsi

create

Menciptakan batas ukuran buffuer dengan semua bajet dimulai dengan 0. Batas ukuran batas pemungkas adalah 1 GiB, atau 1,073,741,824 bajet. Ingatlah bahwa batas ukuran buffuer yang lebih besar mungkin gagal mengalokasi jika perangkat kehabisan memori.

Parameter

size: number

Ukuran tamper.

Memberikan nilai

fromstring

Menciptakan bufffer yang diinisialisasi ke konten string. Ukuran bufffer sama dengan panjang string.

Parameter

str: string

Memberikan nilai

tostring

Mengembalikan data buffuer sebagai string.

Parameter

Memberikan nilai

Mengembalikan ukuran buffer dalam bytes.

Parameter

Memberikan nilai

readi8

Membaca data dari buffer dengan mengubah bit di setel ulang sebagai angka tanda 8-bit dan mengubahnya menjadi angka.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

Memberikan nilai

readu8

Membaca data dari buffer dengan mengubah bit di setel ulang sebagai angka tanda 8-bit dan mengubahnya menjadi angka.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

Memberikan nilai

readi16

Membaca data dari buffer dengan mengubah bit di setel ulang sebagai angka tanda 16-bit dan mengubahnya menjadi angka.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

Memberikan nilai

readu16

Membaca data dari buffer dengan mengubah bit di setel ulang sebagai angka tanda 16-bit dan mengubahnya menjadi angka.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

Memberikan nilai

readi32

Membaca data dari buffer dengan mengubah bit di setel ulang sebagai angka tanda 32-bit dan mengubahnya menjadi angka.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

Memberikan nilai

readu32

Membaca data dari buffer dengan mengubah bit di setel ulang sebagai angka signifikan 32-bit dan mengubahnya menjadi angka.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

Memberikan nilai

readf32

Membaca data dari buffer dengan mengubah bit menjadi nilai 32-bit mengambang dan mengubahnya menjadi angka. Jika nilai mengambang mencerminkan pola bit yang mewakili NaN (tidak angka), nilai yang dikonversi dapat dikonversi ke representasi NaN yang berbeda.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

Memberikan nilai

readf64

Membaca data dari buffer dengan mengubah bit menjadi nilai 64-bit pengapung dan mengubahnya menjadi angka. Jika nilai pengapung bertukar dengan pola bit yang mewakili NaN (tidak angka), nilai yang dikonversi dapat dikonversi ke representasi NaN yang berbeda.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

Memberikan nilai

writei8

void

Menulis data ke bufffer dengan mengubah nomor menjadi angka tanda 8-bit dan menulis satu bait.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

value: number

Nomor integer dalam rentang [-128, 127].

Memberikan nilai

void

writeu8

void

Menulis data ke bufffer dengan mengubah nomor menjadi inti 8-bit yang ditandai dan menulis satu bajak laut.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

value: number

Nomor integer di rentang [0, 255].

Memberikan nilai

void

writei16

void

Menulis data ke bufffer dengan mengubah nomor menjadi inti tanda 16-bit dan mengubahnya kembali menjadi individual bit.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

value: number

Nomor integer di rentang [-32,768, 32,767].

Memberikan nilai

void

writeu16

void

Menulis data ke bufffer dengan mengubah nomor menjadi inti signed 16-bit dan mengubahnya kembali menjadi individual bytes.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

value: number

Nomor integer dalam rentang [0, 65,536].

Memberikan nilai

void

writei32

void

Menulis data ke bufffer dengan mengubah nomor menjadi inti tanda 32-bit dan mengubahnya kembali menjadi individual bit.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

value: number

Nomor integer dalam rentang [-2,147,483,648, 2,147,483,647].

Memberikan nilai

void

writeu32

void

Menulis data ke bufffer dengan mengubah nomor menjadi inti 32-bit yang ditandai dan mengubahnya menjadi individual bit.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

value: number

Nomor integer dalam rentang [0, 4,294,967,295].

Memberikan nilai

void

writef32

void

Menulis data ke bufffer dengan mengubah nomor menjadi nilai 32-bit floating-point dan mengubahnya kembali menjadi bintang individual.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

value: number

Nomor poin mengambang tunggal.

Memberikan nilai

void

writef64

void

Menulis data ke bufffer dengan mengubah nomor menjadi nilai 64-bit floating-point dan mengubahnya kembali menjadi bintang individual.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

value: number

Nomor poin mengambang ganda.

Memberikan nilai

void

readstring

Membaca sebuah string panjang count dari buffer di offset yang ditentukan.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

count: number

Panjang untuk dilihat.

Memberikan nilai

writestring

void

Menulis data dari string ke bufffer di offset yang ditentukan. Jika bufffer optionale count ditentukan, hanya count octet dari string yang diambil.

Parameter

offset: number

Offset dari awal memori buffet, dimulai dari 0.

value: string

Data untuk ditulis.

count: number

Jumlah octet yang diambil dari string.Nilai ini tidak boleh lebih besar dari panjang string.

Memberikan nilai

void

copy

void

Mengkopi count batangan dari source dimulai dari OFFSET sourceOffset ke dalam 1> target1> pada 4> targetOffset4> .

Mungkin untuk source dan target untuk menjadi sama. Mengkopi wilayah yang saling berdekatan di dalam wilayah sumber menyebabkan kopi wilayah yang sama ke dalam wilayah sumber dan kemudian wilayah itu dityalinkan ke wilayah tujuan.

Parameter

target: buffer

Buffer untuk menyalin data ke dalam.

targetOffset: number

Offset dari awal memori buffet, dimulai dari 0.

source: buffer

Buffer untuk mengambil data dari.

sourceOffset: number

Offset dari awal memori buffet, dimulai dari 0.

Nilai Default: 0
count: number

Jumlah bajet untuk disinkronisasi. Jika diomong kosong, seluruh data source dimulai dari sourceOffset diambil.

Memberikan nilai

void

fill

void

Tetapkan count batangan di tamper awal dengan offset ke value .

Parameter

Buffer untuk menulis data ke dalam.

offset: number

Offset dari awal memori buffet, dimulai dari 0.

value: number

Nomor integer di rentang [0, 255].

count: number

Jumlah bit untuk ditulis. Jika diomong kosong, semua bit setelah pengaturan spesifik ditetapkan.

Memberikan nilai

void