Я очень новичок в Scala, и меня смущают функции манипулирования битами. Я надеюсь, что кто-то может указать мне в правильном направлении?
У меня есть массив байтов, определенный со следующими битовыми полями:
0-3 - magic number
4 - version
5-7 - payload length in bytes
8-X - payload, of variable length, as indicated in bits 5-7
Я хотел бы сериализовать это туда и обратно в такую структуру, как:
MagicNumber: Integer
Version: Integer
Length: Integer
payload: Array[Byte]
Как оптимально поступить с битами в этой ситуации? Большинство примеров, которые я видел, имеют дело с сериализацией более высокого уровня, такой как JSON. В этом случае я пытаюсь сериализовать и десериализовать двоичные данные TCP.