I have an array of ushorts, with each ushort representing a 12-bit word. This needs to be tightly packed into an array of bytes. It should look like this in the end:
| word1 | word2 | word3 | word4 |
| byte1 | byte2 | byte3 | byte4 | byte5 | byte6|
Since each word only uses 12 bits, 2 words will be packed into 3 bytes.
Could someone help? I’m a bit stuck on how to do this in C#.
You’re probably going to have to brute-force it.
I’m not a C# guy, but you are looking at something along the lines of (in C):