Buffer.readbits
From GiderosMobile
Available since: Gideros 2026.1
Class: buffer_luau
Description
Reads a range of bitCount bits from the buffer, at specified offset bitOffset, into an unsigned integer.
(number) = buffer.readbits(b,bitOffset,bitCount)
bitCount must be in [0, 32] range.
Parameters
b: (buffer) the buffer
bitOffset: (number) offset from the beginning of the buffer memory, starting from 0
bitCount: (number) length to read
Return values
Returns (number) the bitCount bits from the buffer
Example
-- ! generated by AI !
-- Create a 4-byte buffer (32 bits)
local b = buffer.create(4)
-- Write a 24-bit value (e.g., 0xABCDEF) starting at bit 0
buffer.writebits(b, 0, 24, 0xABCDEF)
-- Read the 24 bits back
local value = buffer.readbits(b, 0, 24)
print(string.format("0x%X", value)) -- Output: 0xABCDEF
-- Example: Reading packed 4-bit values (nibbles)
buffer.writebits(b, 0, 4, 0xA) -- First 4 bits: 1010
buffer.writebits(b, 4, 4, 0xB) -- Next 4 bits: 1011
local val1 = buffer.readbits(b, 0, 4) -- Reads 0xA
local val2 = buffer.readbits(b, 4, 4) -- Reads 0xB
print(val1, val2) -- Output: 10 11