buffer
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Một bộ nhớ là một đối tượng đại diện cho một khối bộ nhớ có kích thước cố định có thể thay đổi.Thư viện buffer cung cấp các chức năng cho việc tạo và thao tác với các đối tượng buffer, cung cấp tất cả các chức năng của nó bên trong biến toàn cầu buffer.
Buffer được dự định để sử dụng một cấu trúc lưu trữ dữ liệu nhị phân cấp thấp, thay thế cho việc sử dụng của string.pack() và string.unpack() .Các trường hợp sử dụng bao gồm đọc và viết các định dạng nhị phân hiện có, làm việc với dữ liệu trong một hình thức gọn gàng hơn, serialization sang các định dạng nhị phân tùy chỉnh, và công việc chung với các loại bộ nhớ bản địa như số cố định và nổi.
Khi được truyền qua API Roblox, bao gồm gửi một bộ nhớ lưu trữ qua sự kiện tùy chỉnh, danh tính của đối tượng bộ nhớ lưu trữ không được giữ và mục tiêu sẽ nhận được một bản sao.Tương tự như các hạn chế khác, cùng một đối tượng bộ nhớ không thể được sử dụng từ nhiều Actor tập lệnh (Parallel Luau).
Nhiều chức năng chấp nhận một offset bằng byte từ đầu của bộ nhớ.Offset của 0 từ đầu của khối bộ nhớ búfer truy cập vào bit đầu tiên.Tất cả các khấu trừ, số lượng và kích thước phải là số nguyên dương không âm.Nếu các bayt được truy cập bởi bất kỳ hoạt động đọc hoặc ghi nào nằm ngoài bộ nhớ tam giác, một lỗi được ném.
Các phương pháp read và write hoạt động với số nguyên và số thập phân sử dụng mã hóa little-endian.
Tóm Tắt
Chức Năng
Tạo một bộ lưu trữ.
Tạo một bộ lưu trữ từ một chuỗi.
Chuyển đổi một buffer thành một chuỗi.
Trả về kích thước của bộ nhớ trong bytes.
Đọc một loạt các bit thành một số không dấu vào một số không dấu từ bộ nhớ dựa trên một số không dấu cụ thể từ đến , bao gồm cả.
Đọc một số nguyên có chữ ký 8 bit từ bộ nhớ.
Đọc một số nguyên không có dấu hiệu 8 bit từ bộ nhớ.
Đọc một số nguyên có chữ ký 16 bit từ bộ nhớ.
Đọc một số nguyên không có dấu 16 bit từ bộ nhớ.
Đọc một số nguyên có chữ ký 32 bit từ bộ nhớ.
Đọc một số nguyên không có dấu 32 bit từ bộ nhớ.
Đọc một giá trị 32 bit nổi bật từ bộ nhớ.
Đọc một giá trị 64-bit nổi bật từ bộ nhớ.
Viết dữ liệu vào bộ nhớ đệm dựa trên một số nguyên tố bitCount cụ thể từ 0 đến 32, bao gồm.
Viết một số nguyên có chữ ký 8 bit vào bộ nhớ.
Viết một số nguyên không có dấu 8 bit vào bộ nhớ.
Viết một số nguyên có chữ ký 16 bit vào bộ nhớ.
Viết một số nguyên không có dấu 16 bit vào bộ nhớ.
Viết một số nguyên có chữ ký 32 bit vào bộ nhớ.
Viết một số nguyên không có dấu 32 bit vào bộ nhớ.
Viết một giá trị 32 bit nổi bật vào bộ nhớ.
Viết một giá trị 64-bit nổi bật vào bộ nhớ.
Đọc một chuỗi từ bộ nhớ.
Viết một chuỗi vào bộ nhớ.
Sao chép các bayt giữa các buffer.
Đặt một khu vực của bộ nhớ búp vào một giá trị nguyên tắc 8-bit chưa ký.
Chức Năng
create
Tạo một bộ lưu trữ của kích thước yêu cầu với tất cả các bayt được khởi tạo thành 0 .Giới hạn kích thước là 1 GiB, hoặc 1,073,741,824 bayt.Hãy nhớ rằng các bộ nhớ lớn hơn có thể không thể phân bổ nếu thiết bị đang chạy thấp về bộ nhớ.
Tham Số
Kích thước của bộ nhớ.
Lợi Nhuận
readbits
Đọc một loạt các bit thành một số không dấu vào một số không dấu từ bộ nhớ dựa trên một số không dấu cụ thể từ đến , bao gồm cả.Ví dụ:
- buffer.readbits(b, 0, 8) tương đương với buffer.readu8(b, 0) .
- buffer.readbits(b, 0, 16) tương đương với buffer.readu16(b, 0) .
- buffer.readbits(b, 0, 32) tương đương với buffer.readu32(b, 0) .
- buffer.readbits(b, 0, 24) đọc 24 bit từ bộ nhớ.
Lưu ý rằng 0 chiều rộng bit chỉ được hỗ trợ để không xảy ra lỗi trong các trường hợp chung khi số bit được động, và đọc 0 bit trả về 0 .Cũng lưu ý rằng, vì kích thước tối đa của bộ nhớ là 1 GB, bitOffset không thể được xử lý như một số nguyên tử 32 bit giống như byte offset trong các chức năng bộ nhớ khác.
Tham Số
Lợi Nhuận
readf32
Đọc dữ liệu từ bộ nhớ bằng cách giải mã lại các bayt tại offset như một giá trị nổi 32 bit và chuyển thành một sốNếu giá trị nổi bật khớp với bất kỳ mẫu bit nào đại diện cho NaN (không phải là một số), giá trị trả về có thể được chuyển đổi thành đại diện yên tĩnh khác NaN .
Lợi Nhuận
readf64
Đọc dữ liệu từ bộ nhớ bằng cách giải mã lại các bayt tại offset như một giá trị nổi 64 bit và chuyển thành một sốNếu giá trị nổi bật khớp với bất kỳ mẫu bit nào đại diện cho NaN (không phải là một số), giá trị trả về có thể được chuyển đổi thành đại diện yên tĩnh khác NaN .
Lợi Nhuận
writebits
Viết dữ liệu vào bộ nhớ đệm dựa trên một số nguyên tố bitCount cụ thể từ 0 đến 32, bao gồm.value được xử lý như một số không có dấu 32 bit và chỉ có bitCount ít bit quan trọng nhất được viết.
Lưu ý rằng 0 chiều rộng bit chỉ được hỗ trợ để không xảy ra lỗi trong các trường hợp chung nơi số bit được động, và viết 0 bit không có hiệu lực.Cũng lưu ý rằng, vì kích thước tối đa của bộ nhớ là 1 GB, bitOffset không thể được xử lý như một số nguyên tử 32 bit giống như byte offset trong các chức năng bộ nhớ khác.
Tham Số
Lợi Nhuận
writestring
Viết dữ liệu từ một chuỗi vào bộ nhớ tại offset được chỉ định.Nếu một tùy chọn count được đặc định, chỉ có count bytes được lấy từ chuỗi.
Tham Số
Lợi Nhuận
copy
Sao chép count bytes từ source bắt đầu tại offset sourceOffset vào target tại targetOffset .
Nó là có thể cho source và target để giống nhau.Sao chép một khu vực chồng lấp bên trong cùng một bộ nhớ tạm thời hành động như thể khu vực nguồn được sao chép vào bộ nhớ tạm thời và sau đó bộ nhớ đó được sao chép sang mục tiêu.
Tham Số
Buffer để sao chép dữ liệu vào.
Khấu trừ từ đầu bộ nhớ tam bản, bắt đầu từ 0 .
Buffer để lấy dữ liệu từ.
Khấu trừ từ đầu bộ nhớ tam bản, bắt đầu từ 0 .
Số byte để sao chép. Nếu bỏ qua, toàn bộ dữ liệu source bắt đầu từ sourceOffset sẽ được lấy.
Lợi Nhuận
fill
Bộ count bytes trong bộ nhớ đệm bắt đầu từ offset đến value được xác định.