可以的,二進位制是計算機內的表示方法,處理二進位制資料是最基本的能力。如果是二進位制字串轉十進位制:>>> x = "10101010">>> int(x, 2)170如果是從檔案或網路中獲取的資料,要知道某一位是0還是1的話,獲取的資料可以按字元讀取,由於一個字元由8位二進位制表示,分別讀取1到8位的二進位制值就可以了:>>> get_char_bit = lambda char, n: (char >> (8-n)) & 1 # 從高到低分別為第1~8位>>> data = b"ab" # 在python3中字串預設是unicode,所以加上b字首相容>>> # 在python3中按字元讀取byte字串是數字,而python2讀出來的卻是字元,但bytearray是一致的都是數字>>> data = bytearray(data)>>> result = []>>> for char in data:for i in range(1, 9):result.append(get_char_bit(char, i)) >>> result[0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0]
可以的,二進位制是計算機內的表示方法,處理二進位制資料是最基本的能力。如果是二進位制字串轉十進位制:>>> x = "10101010">>> int(x, 2)170如果是從檔案或網路中獲取的資料,要知道某一位是0還是1的話,獲取的資料可以按字元讀取,由於一個字元由8位二進位制表示,分別讀取1到8位的二進位制值就可以了:>>> get_char_bit = lambda char, n: (char >> (8-n)) & 1 # 從高到低分別為第1~8位>>> data = b"ab" # 在python3中字串預設是unicode,所以加上b字首相容>>> # 在python3中按字元讀取byte字串是數字,而python2讀出來的卻是字元,但bytearray是一致的都是數字>>> data = bytearray(data)>>> result = []>>> for char in data:for i in range(1, 9):result.append(get_char_bit(char, i)) >>> result[0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0]