-1
与えられたファイルの基礎となるバイナリコード(0と1)を取得する最も簡単な方法は?この質問の文脈は、ファイル名をとり、それを探してどこかに格納するか返す前に、そのファイルのバイナリコードを集めるPython関数を必要とすることです。この後、私はバイナリファイルに対していくつかの操作をしたい。ファイルのバイナリを表示して保存する簡単な方法は?
与えられたファイルの基礎となるバイナリコード(0と1)を取得する最も簡単な方法は?この質問の文脈は、ファイル名をとり、それを探してどこかに格納するか返す前に、そのファイルのバイナリコードを集めるPython関数を必要とすることです。この後、私はバイナリファイルに対していくつかの操作をしたい。ファイルのバイナリを表示して保存する簡単な方法は?
ファイルの基礎となるコードは、ファイルオブジェクトの.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)
参考文献:
与えられたファイルの基礎となる0と1はありません。混乱の中で生まれたアイデアです。バイナリデータの1ビットを表すプログラムを* 8ビットのASCII文字の1と0 *として記述したい場合は、確かにそれを行うことができます。しかし、 "*実際のものと同じ基礎データを見る*"のケースではなく、 "*可能な表現を計算する*"です。そして、もしあなたがそうしているのなら、もっと直接的で簡潔なマッピングなので、「誰もが」Hexでそれを行います。ここで議論したように:http://stackoverflow.com/questions/37103607/ http://stackoverflow.com/a/2894216/478656 – TessellatingHeckler