Я бы предложил использовать Bitstring для такого рода вещей.Вы можете найти его здесь .
Например, на верхнем уровне:
# #use "topfind";;
# #camlp4o;;
# #require "unix";;
# #require "bitstring.syntax" ;;
# let data = Int32.of_int (-1);;
# let bits = BITSTRING { data: 32 } ;;
, тогда вы можете выполнять различные преобразования цепочки битов, включая запись ее в двоичный файл.или в стандартный вывод или в строку:
# Bitstring.string_of_bitstring bits ;;
- : string = "\255\255\255\255"