私は任意のcharをバイナリ表現に変換したいのですが(私のcuurentコードのような文字列ではありません)、バイナリのシーケンスでなければなりません その後16ビットごとに私が行われ、その合計を計算した内容 私はnumpyのか、他のパッケージ を使用カントから、これは私が今得たものであり、それは文字列をバイナリのシーケンスに変換する
def checksum(st):
data = ' '.join(map(bin,bytearray(st)))
binar = [data[i:i+16] for i in range(0, len(data), 16)]
check = 0xffff
for hex in binar:
check += int(hex,2)
return check
私の現在のコードは、例えば(文字列を取得します。 '10100/01 ')と私はそのための文字列の16ビットごとに合計したい私はバイナリ数に文字列を変換し、合計16ビットを合計する必要があります
私は読みやすくするためにコードにスペースを追加しました。私の最初の編集は、私を食べてはいけません。とにかく、なぜ 'ord'ではなく' int'ですか?何か不足していますか? –
ordは1つのcharを取得します。2つの文字(16ビット)の文字列をバイナリに変換したいのですが、ordは私を助けません..そして現在のコードは良くありません –
私の問題はデータにバイナリ2番目の行では接頭辞 "0b10101"の0とbの文字をカウントするので、毎回16ビットに分割することさえできません –