Grave números em um arquivo em lua em formato binário

Eu tenho uma grande matriz com números que gostaria de gravar em um arquivo.

Mas se eu fizer isso:

local out = io.open("file.bin", "wb")
local i = 4324234
out:write(i)

Estou apenas escrevendo o número como uma string no arquivo. Como escrevo os bytes corretos para o número a ser arquivado. E como posso ler mais tarde?