2013-12-17 103 views
0

特定位是否被設爲我有兩個字節:檢查在Python 3

b'T' 

b'\x40'  (only bit #6 is set) 

在需要執行的第一個字節進行檢查,看是否位#6已設置。例如,在[A-Za-9]上它將被設置,但是在所有一些字符上它不會被設置。

if (b'T' & b'\x40') != 0: 
    print("set"); 

不工作...

回答

2

字節值,索引時,給整數值。用它來你的優勢:

value = b'T' 
if value[0] & 0x40: 
    print('set') 

不能使用在字節&運營商,但它工作得很好的整數。

請注意,非零數字總是在布爾上下文中測試爲true,因此無需在此處明確測試!= 0

0

您正在尋找內置函數ord,該函數將單字符字符串(字節或Unicode)轉換爲相應的數字編碼點。

if ord(b'T') & 0x40: 
    print("set")