Buffer.readbits

From GiderosMobile
Revision as of 13:41, 3 February 2026 by MoKaLux (talk | contribs)

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