在python中将接收到的数据转换为二进制形式

时间:2018-11-10 09:46:03

标签: python

我想将收到的hex data转换为binary形式。我得到ValueError。 例如,我希望将输出中的第一个值打印为0000

    received_data = " ".join("{:02x}".format(byte) for byte in (data))
    print(received_data)
    P_data = "{0:b}".format(received_data[0:1])

输出:

    01 04 04

错误:

    Traceback (most recent call last):
    File "C:\Users\User\eclipse-workspace\Try\test1\test2.py", line 22, in 
   <module>
    P_data="{0:b}".format(received_data[0:1])
    ValueError: Unknown format code 'b' for object of type 'str'

1 个答案:

答案 0 :(得分:1)

您应该首先将字符串转换为整数

P_data = '{0:b}'.format(int(received_data[0:1], 16)).zfill(4)