在Python中组合两个字节

在Python中组合两个字节,python,Python,我有一个问题,我得到两个字节,表示为0-255之间的int,两个字节应该表示一个值。现在我是这样做的,但这需要很长时间。有什么建议吗 bin_string = '0b' + bin(int(second_byte))[2:].zfill(8) + bin(int(first_byte))[2:].zfill(8) result = float(literal_eval(bin_string)) example: 203 -> 11001011 101 -> 01100101 -&

我有一个问题,我得到两个字节,表示为0-255之间的int,两个字节应该表示一个值。现在我是这样做的,但这需要很长时间。有什么建议吗

bin_string = '0b' + bin(int(second_byte))[2:].zfill(8) + bin(int(first_byte))[2:].zfill(8)
result = float(literal_eval(bin_string))

example: 
203 -> 11001011
101 -> 01100101
-> 1100101101100101 -> 52069

我觉得可能有一个简单的数学公式,但我似乎无法算出它…

将第二个字节左移8位并按位移动,或者与第一个字节左移:

(second_byte << 8) | first_byte
二进制移位运算符:

(second_byte << 8) + first_byte

如果在
bytes
值中获取字节,则i。E一个字节字符串,或者如果您想将字节放入其中,那么您应该查看
struct
模块:

 struct.unpack('h', b'\x00\x01')
将返回
(256,)
,这是字符串
b'\x00\x01'
中所有未打包内容的元组,格式为
'h'

可能的重复项
second_byte * 256 + first_byte
 struct.unpack('h', b'\x00\x01')