1

我试图将几个变量组合成一个字节数组的 1 个元素。

我有变量:版本、填充、扩展、cc 大小:2b、1b、1b、4b

我如何按顺序将它们组合为一个字节?

4

2 回答 2

2

如果变量是整数,您可以只使用位移位和按位或运算来形成一个由 8 位组成的值,然后将其存储在字节数组中您想要的位置。

ba[i] = version << 6 | padding << 5 | extension << 4 | cc
于 2012-11-19T02:05:55.250 回答
2

您可以使用移位和位掩码将它们打包成一个字节。

version, padding, extension, cc = 2, 0, 1, 3
byte = ((version & 3) << 6) | ((padding & 1) << 5) | ((extension & 1) << 4) | (cc & 7)
byte
# OUT: 147

请注意,您必须先屏蔽它们,否则如果值超出范围,它将破坏其他字段。

于 2012-11-19T02:11:07.530 回答