假设您有b'\x04'
和b'\x00'
如何将它们合并为b'\x0400'
?
答案 0 :(得分:2)
使用python 3:
>>> a = b'\x04'
>>> b = b'\x00'
>>> a+b
b'\x04\x00'
答案 1 :(得分:2)
0x01 << 8 = 0x0100
0X0100 | 0X01 = 0X0101
您可以使用这两个操作。
<< 8
用于移位8位或1个字节
|
进行合并。
a = b'0x04'
a << 8
b'0x0400'
答案 2 :(得分:0)
它有一个简单的解决方案,例如: 0x0400 = 0x04×256 + 0x00
答案 3 :(得分:0)
在我的应用程序中,我正在从传感器接收字节流。我需要结合两个字节来创建整数值。
侯赛因的答案是正确的解决方法。
解决方案与需要对二进制数进行移位以将它们组合在一起的方法相同,例如,如果我们有两个字节组成一个字节,即高位字0010和低位字0100。我们不能仅将它们加在一起,而如果我们将高位字向左移四个空格,然后可以或将这些位合在一起以创建00100100。通过对高位字进行位偏移,我们实质上将其乘以16或10000。
在上面的十六进制示例中,我们需要将高字节移至两位数,十六进制0x100中的高字节等于256。因此,我们可以将高字节乘以256,然后再加上低字节。
答案 4 :(得分:0)
Python3中的另一种替代方法是:
b''.join([a,b])
如果列表中的字节元素为bytes_list
,则可以将其视为普通列表连接。
b''.join(bytes_list)