Il y a deux manières de le faire. Vous pourriez être en mesure de jouer avec le marshaling attributes tel que StructLayout pour emballer une structure dans un tableau d'octets, mais cela est probablement difficile et ne vaut pas la peine.
Vous pouvez utiliser un framework spécialisé tel que Protobuf pour attribuer une classe de manière à ce qu'elle soit sérialisée pour correspondre à la structure dont vous avez besoin. Mais d'après mon expérience, la méthode la plus simple, la plus rapide et la plus flexible pour créer une structure binaire est d'utiliser une classe MemoryStream pour contenir un tampon d'aubes, puis d'utiliser un BinaryWriter pour écrire les données binaires dans le flux.
Dans tous les cas, il est utile d'avoir un serveur de travail à référencer. Utilisez un outil tel que Wireshark ou Microsoft Network Monitor pour capturer le trafic filaire afin de pouvoir comparer votre format de fil à un exemple connu pour fonctionner.
Je suppose que par "facile" vous faites référence à autre chose que de prendre 0xFF, etc, et à gauche les déplacer par un nombre de bits définis par des constantes qui correspondent à la description de la zones dans le tableau ci-dessus? – Dave