I'm still not completely sure I get it. I think my issue with this new version is that the word "append' isn't really all that well-defined when you are talking about integers.
So is the idea is that Wiretap takes a 24-bit integer and "appends" some filler bits to get a 32-bit integer? Then it outputs that 32-bit integer as either big-endian or little-endian.
If that's the case, what does "append" mean? Are you "appending" in the sense of shifting the 24-bit quantity into the high 24-bits of the 32-bit word? I.e. 0x123456 -> 0x12345600? Or does it mean setting the high bits to 0 (i.e. 0x123456 -> 0x00123456)?
Or does "append" actually mean that you first output the 24-bit number in either little- or big-endian order and then output the filler byte?
So, to summarize, I can see the following 3 scenarios for how to encode 0x123456, and I'm still not completely sure which one you mean:
1. BE: 0x12 0x34 0x56 0x00, LE: 0x00 0x56 0x34 0x12
2. BE: 0x00 0x12 0x34 0x56, LE: 0x56 0x34 0x12 0x00
3. BE: 0x12 0x34 0x56 0x00, LE: 0x56 0x34 0x12 0x00
Finally, is the filler byte guaranteed to be 0 or is it undefined?