Buffer.writebits

From GiderosMobile

Available since: Gideros 2026.1
Class: buffer_luau

Description

Writes bitCount bits from value into the buffer b at specified offset bitOffset.

buffer.writebits(b,bitOffset,bitCount,value)

bitCount must be in [0, 32] range.

Parameters

b: (buffer) the buffer to write to
bitOffset: (number) offset from the beginning of the buffer memory, starting from 0
bitCount: (number) number of bytes to take from the value
value: (number) data to write

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