我有两个字节:
b'T'
和
b'\x40' (only bit #6 is set)
需要检查第一个字节以查看是否设置了#6位。例如,在[A-Za-9]上会设置它,但在所有一些字符上都不会被设置。
if (b'T' & b'\x40') != 0:
print("set");
不起作用......
答案 0 :(得分:2)
索引时的字节值给出整数值。使用它对您有利:
value = b'T'
if value[0] & 0x40:
print('set')
你不能在字节上使用&
运算符,但它对整数有效。
请注意,非零数字在布尔上下文中始终测试为true,此处无需显式测试!= 0
。
答案 1 :(得分:0)
您正在寻找ord
内置函数,它将单字符字符串(字节或unicode)转换为相应的数字代码点。
if ord(b'T') & 0x40:
print("set")