我想使用Python 3從文件中得到確切的位數序列。有幾個關於這個主題的問題很接近,但並不完全回答它。到目前爲止,我有這樣的:在Python中獲取原始二進制文件的表示形式
>>> data = open('file.bin', 'rb').read()
>>> data
'\xa1\xa7\xda4\x86G\xa0!e\xab7M\xce\xd4\xf9\x0e\x99\xce\xe94Y3\x1d\xb7\xa3d\xf9\x92\xd9\xa8\xca\x05\x0f$\xb3\xcd*\xbfT\xbb\x8d\x801\xfanX\x1e\xb4^\xa7l\xe3=\xaf\x89\x86\xaf\x0e8\xeeL\xcd|*5\xf16\xe4\xf6a\xf5\xc4\xf5\xb0\xfc;\xf3\xb5\xb3/\x9a5\xee+\xc5^\xf5\xfe\xaf]\xf7.X\x81\xf3\x14\xe9\x9fK\xf6d\xefK\x8e\xff\x00\x9a>\xe7\xea\xc8\x1b\xc1\x8c\xff\x00D>\xb8\xff\x00\x9c9...'
>>> bin(data[:][0])
'0b11111111'
OK,我可以得到一個基本數2,但我不明白爲什麼數據[:] [X],我仍然有領先0B。我似乎也必須遍歷整個字符串並進行一些轉換和解析才能獲得正確的輸出。有沒有簡單的方法來獲得01的序列沒有循環,解析和連接字符串?
在此先感謝!
讀取以二進制模式打開的文件會生成字節對象,而不是字符串對象。你確定你使用py3k嗎? – SilentGhost 2011-01-23 18:03:22
是的,我確定我正在使用py3k。它們可能是字節對象,但終端用單引號顯示它們。 – maximus 2011-01-23 18:09:06