前提
PythonプログラムでSocket通信を行っています。
python
1res = sock.recv(BUFFER_SIZE) 2print (*[format(i,'02X') for i in res])
このソースで受信したデータは、次の通りです。
81 00 02 00
実現したいこと
①データから02の部分を切り取り、
②2進数で表示
プログラムを作成しています。
試したこと
①の部分は、次のコードで**b'\x02'**という結果がでました。
python
1status = res[2:3] 2print(status)
②の部分は、次のコードを試しましたが、**b'02'**という結果になってしまいます。
python
1status_bit = codecs.encode(status, 'hex_codec') 2print(status_bit)
0b0000 0010 を結果として表示させたいのですが、うまくいきません。
次のコードも試しましたが、エラーが出てしまいました
python
1status_bin = bin (status)
次のエラーがでてしまいました。
TypeError: 'bytes' object cannot be interpreted as an integer
教えて欲しいこと
上記エラーが出てしまう原因が分かりません。
教えていただけると助かります。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/12/07 04:36