前提
PythonプログラムでSocket通信を行っています。
python
1res = sock.recv(BUFFER_SIZE) 2print (*[format(i,'02X') for i in res])
このソースで受信したデータは、次の通りです。
81 00 A3 00 C9 23 18 00 38 00 00 00
実現したいこと
①データからA3 00の部分を切り取りり、
②並びを00 A3に変えて、
③10進数に変換する
プログラムを作成しています。
試したこと
①~③を実現するために、受信データを一度変数dataでバイト列のデータとして格納しようとしています。
次のプログラムで、バイト列のデータを表示させようとしたところ、
python
1res = sock.recv(BUFFER_SIZE) 2data = format(res, '02x') 3print = (data)
次のエラーがでてしまいました。
TypeError: unsupported format string passed to bytes.format
教えて欲しいこと
上記エラーが出てしまう原因が分かりません。
教えていただけると助かります。
バイト列のデータとして取り出した後は、次のプログラムで①~③を実現する考えです。
python
1count = data[2:4] 2print(count) 3#Byte 上下反転 00 A3 4count_inv = count[::-1] 5print(count_inv) 6#10進数変換 7count_dec = int(count_inv,16) 8print(count_dec)
回答1件
あなたの回答
tips
プレビュー