我想对python中的变量应用一个位掩码,以确定设置了哪些位。我一直在尝试,但还没有找到正确的方法。我的变量是二进制的,为了显示它的值,我使用函数hexlify():
corr = fh.read(1)
mac = fh.read(6)[-3:]
print "corr "+ hexlify(corr)
不,我有麻烦把这个bitmask应用到corr:
print hexlify(corr&0x01)
上面写着
TypeError: unsupported operand type(s) for &: 'str' and 'int'
但这是为什么?任何帮助都将不胜感激! 非常感谢你!
因为corr是一个字符串,它需要一个int
现在,我不喜欢这个,但它似乎起作用了:
这将corr转换为十六进制字符串,该字符串再次将baclk转换为整数,在应用掩码之前以16为基数。。。。。如果您能给我一些提示,我将不胜感激。 谢谢!
因为
corr
来自我想您需要读取一个字节,然后继续这个字节的值。
那么您应该使用
ord()
和chr()
:ord()
获取此字节的字节值,您可以对其进行处理,然后,由于hexlify()
似乎需要一个字符串,将其重新转换为一个单字节字符串。相关问题 更多 >
编程相关推荐