Глянец позволяет легко определять двоичные форматы на уровне байтов для чтения и записи.
(defcodec example-codec
[:id :uint32
:msg-type (enum :byte {:a \A, :b \B})
:status (string :ascii :length 11)])
(def buffer (byte-array 16))
(.read (input-stream "filename.bin") buffer)
(decode example-codec buffer)
(encode example-codec {:id 42, :msg-type :a, :status "A-OKAY"})
Функция bit-map
допускает форматы уровня битов, но количество определенных битов должно делиться на 8, чтобы байты все еще выстраивались в линию.
Также есть спецификация байта .