在python中将字符串文本转换为相同的二进制数据



我试图从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'

相关内容

  • 没有找到相关文章

最新更新