2016-07-04 17 views
-1

与えられたファイルの基礎となるバイナリコード(0と1)を取得する最も簡単な方法は?この質問の文脈は、ファイル名をとり、それを探してどこかに格納するか返す前に、そのファイルのバイナリコードを集めるPython関数を必要とすることです。この後、私はバイナリファイルに対していくつかの操作をしたい。ファイルのバイナリを表示して保存する簡単な方法は?

+1

与えられたファイルの基礎となる0と1はありません。混乱の中で生まれたアイデアです。バイナリデータの1ビットを表すプログラムを* 8ビットのASCII文字の1と0 *として記述したい場合は、確かにそれを行うことができます。しかし、 "*実際のものと同じ基礎データを見る*"のケースではなく、 "*可能な表現を計算する*"です。そして、もしあなたがそうしているのなら、もっと直接的で簡潔なマッピングなので、「誰もが」Hexでそれを行います。ここで議論したように:http://stackoverflow.com/questions/37103607/ http://stackoverflow.com/a/2894216/478656 – TessellatingHeckler

答えて

1

ファイルの基礎となるコードは、ファイルオブジェクトの.read()メソッドから利用できます。

with open("input_file.bin", "rb") as input_file: 
    bits = input_file.read() 

あなたが簡単にそれらを読んだ後のビットを操作したい場合は、あなたがbitarrayに変換することがあります:あなたは、ファイルを開いたときにbモード修飾子を使用

from bitarray import bitarray 
with open("input_file.bin", "rb") as input_file: 
    chars = input_file.read() 

bits = bitarray() 
bits.frombytes(chars) 
print bits.count(1), bits.count(0) 

参考文献: