这是我的代码
data[12] = '\x18'
c = 4
d = c & data[12]
print d
输出/错误
Error: TypeError: unsupported operand type(s) for &: 'str' and 'int'
请帮助解决这个问题。
我需要从 8 位中提取高位。
像这样的 '\x18'
有两位高,我想要那些位置。
最佳答案
d = c & ord(data[12])
您不能对字符串进行二进制运算,因此请将此字符串转换为数字。
在您的情况下,\xSOMETHING
代表一个(可能不可打印的)字符,它在 ASCII 集中具有相应的位置。使用 ord
检索它,返回一个数字(在您的例子中为 24
)。
关于python - 从十六进制字符串中提取位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36605865/