【问题标题】:Convert binary string representation of a byte to actual binary value in Python将字节的二进制字符串表示形式转换为 Python 中的实际二进制值
【发布时间】:2018-02-25 02:32:01
【问题描述】:

我有一个字节的二进制字符串表示,比如

01010101

如何将其转换为真正的二进制值并将其写入二进制文件?

【问题讨论】:

    标签: python binary


    【解决方案1】:

    使用the int functionbase2 将二进制值作为整数读取。

    n = int('01010101', 2)
    

    Python 2 使用字符串来处理二进制数据,因此您可以使用the chr() function 将整数转换为单字节字符串。

    data = chr(n)
    

    Python 3 处理二进制和文本的方式不同,因此您需要改用the bytes type。这没有直接等效于chr() 函数,但bytes 构造函数可以采用字节值列表。我们将n 放在一个元素数组中,并将其转换为bytes 对象。

    data = bytes([n])
    

    一旦你有了你的二进制字符串,你就可以以二进制模式打开一个文件,然后像这样将数据写入它:

    with open('out.bin', 'wb') as f:
        f.write(data)
    

    【讨论】:

    • 对于 python 2.6+,你最好使用bytearray([n])See doc.
    猜你喜欢
    • 2011-03-27
    • 1970-01-01
    • 2021-05-19
    • 2015-04-23
    • 2021-02-24
    • 2011-01-25
    相关资源
    最近更新 更多