【问题标题】:Easy way to view and save the binary of a file?查看和保存文件二进制文件的简便方法?
【发布时间】:2016-07-05 05:28:23
【问题描述】:

获取给定文件的底层二进制代码(0 和 1)的最简单方法是什么?这个问题的上下文是我想要一个 python 函数,它接受一个文件名,查找它并收集该文件的二进制代码,然后将它存储在某个地方或返回它。在此之后,我想对二进制文件进行一些操作。

【问题讨论】:

  • 给定文件没有底层的 0 和 1,这是一个源于混淆的想法。如果你想编写一个将二进制数据的一位表示为 8 位 ASCII 字符 1 和 0 的程序,你当然可以做到。但这不是“按实际情况查看基础数据”的情况,而是“计算一种可能的表示形式”。如果你这样做......“每个人”都在 Hex 中这样做,因为它是一个更直接、更简洁的映射。正如这里所说:stackoverflow.com/questions/37103607 然后它是重复的,例如stackoverflow.com/a/2894216/478656

标签: python file binary


【解决方案1】:

文件的底层代码可通过文件对象的.read() 方法获得。打开文件时使用b 模式修饰符:

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

如果您想在读入这些位后轻松地对其进行操作,您可能需要将它们转换为bitarray

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)

参考资料:

【讨论】:

    猜你喜欢
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多