在python中,有没有办法像二进制字符串一样将两个字节数组添加到一起?
是否有任何python包可以将字节数组添加到一起,就像将二进制字符串添加到一起一样在python中,有没有办法像二进制字符串一样将两个字节数组添加到一起?,python,math,byte,bits,Python,Math,Byte,Bits,是否有任何python包可以将字节数组添加到一起,就像将二进制字符串添加到一起一样 Bytearray1["10000011", "00000000"] + Bytearray2["10000101", "00000000"] = Bytearray3["00000110", "00000001"] 例如: "0011" + "0101" = "0110" 但只有字节 我试图将字节转换成字符串,但这对计算机来说太麻烦了。只需将字节相加就更容易了 Bytearray1["10000011",
Bytearray1["10000011", "00000000"]
+
Bytearray2["10000101", "00000000"]
=
Bytearray3["00000110", "00000001"]
例如:
"0011" + "0101" = "0110"
但只有字节
我试图将字节转换成字符串,但这对计算机来说太麻烦了。只需将字节相加就更容易了
Bytearray1["10000011", "00000000"]
+
Bytearray2["10000101", "00000000"]
=
Bytearray3["00000110", "00000001"]
您需要使用位运算符。在您的特定情况下,您需要(按位异或)。在python中,XOR由^表示 请看下面的示例:
a = int('0011', 2)
b = int('0101', 2)
c = a^b
binary_rep = '{:04b}'.format(c) # convert integer to binary format (contains 4 digits with leading zeros)
print(binary_rep)
上述代码将“0110”打印到屏幕上
您还可以定义自己的函数,如下所示:
def XOR(x, y, number_of_digits):
a = int(x, 2)
b = int(y, 2)
c = a^b
format_str = '{:0%db}' % number_of_digits
binary_rep = format_str.format(c)
return binary_rep
“0011”+“0101”如何变成“0110”?您是希望连接字节数组还是添加二进制值?