I have a big array with numbers I would like to write to a file.
But if I do this:
local out = io.open(\"file.bin\", \"wb\")
local i = 4324234
out:wr
Try this
function writebytes(f,x)
local b4=string.char(x%256) x=(x-x%256)/256
local b3=string.char(x%256) x=(x-x%256)/256
local b2=string.char(x%256) x=(x-x%256)/256
local b1=string.char(x%256) x=(x-x%256)/256
f:write(b1,b2,b3,b4)
end
writebytes(out,i)
and also this
function bytes(x)
local b4=x%256 x=(x-x%256)/256
local b3=x%256 x=(x-x%256)/256
local b2=x%256 x=(x-x%256)/256
local b1=x%256 x=(x-x%256)/256
return string.char(b1,b2,b3,b4)
end
out:write(bytes(0x10203040))
These work for 32-bit integers and output the most significant byte first. Adapt as needed.