我试图从XML文件中读取一些值,假设这些值代表硬件寄存器的重置状态。<Field_Reset_Value>10</Field_Reset_Value>
在这里表示两位为"1";和"0";分别。我需要使用这些值来按位移位或与其他位值进一步移位。
现在当我读取该值时,它被表示为字符串。有人可以建议的方式,我可以将字符串转换为二进制。如下面的例子所示。
string = "10"
现在我想把它的二进制值转换为binval = 0b10
。
同样,这些值可以是1到32位之间的任意位数。我的意思是字符串也可以是1101001110011
所以我需要将它表示为0b1101001110011
您可以使用以下代码:
>>> st = "hello world"
>>> ' '.join(format(ord(x), 'b') for x in st)
'1101000 1100101 1101100 1101100 1101111 100000 1110111 1101111 1110010 1101100 1100100'
#using `bytearray`
>>> ' '.join(format(x, 'b') for x in bytearray(st, 'utf-8'))
'1101000 1100101 1101100 1101100 1101111 100000 1110111 1101111 1110010 1101100 1100100'