我正在使用二進制模式讀取python中的文件(磁盤映像和/ dev/sda和likes)。我正在讀取第一個扇區(512字節),並試圖打印磁盤信息(參考號:Wikipedia Articles)。在python中將二進制字符串解釋爲整數
要解釋的東西像第一絕對扇區的分區中的32位LBA,我做這樣的事情 -
def int32(bytes):
return int(bytes[3]<<24|bytes[2]<<16|bytes[1]<<8|bytes[0])
def int16(bytes):
return int(bytes[1]<<8|bytes[0])
print('LBA:',int32(partitionEntry[8:12]))
是否有本地笏在Python做到這一點?
有沒有辦法爲奇數位結構做到這一點:在C類型轉換intVar=(int*)someBasePointer
的回答標記後添加?像CHS一樣。 C(柱面)是來自一個字節的10位8位和來自另一個字節的2位。我目前的做法是
def getCHS(bytes):
c=bytes[1]&3<<8|bytes[2]
h=bytes[0]
s=bytes[1]&63
return {'c':c,'s':s,'h':h}
看看在Python'struct'模塊:http://docs.python.org/library/struct。 html(例如:http://docs.python.org/library/struct.html#examples) –