2017-01-25 9 views
0

バイナリ文字列を一緒に追加するのと同じように、バイト配列を一緒に追加するPythonパッケージはありますか?例えばPythonでは、バイナリ文字列のように2つのByte配列を一緒に追加する方法はありますか?

"0011" + "0101" = "0110" 

だけバイトを有します。

私はバイトを文字列に変換しようとしましたが、コンピュータにとってはあまりにも多くの作業をしました。バイトを一緒に追加する方が簡単です。

Bytearray1["10000011", "00000000"] 
+ 
Bytearray2["10000101", "00000000"] 
= 
Bytearray3["00000110", "00000001"] 
+0

どのように "0011" + "0101" "0110" になり? – MBo

+0

バイト配列を連結したりバイナリ値を追加したいですか? – Fruitspunchsamurai

答えて

0

ビット演算子を使用する必要があります。あなたの特別なケースでは、XOR(ビットごとに排他的or)が必要です。 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 
関連する問題