【问题标题】:Trying to pack binary bits represented by bytes into a byte in python试图将字节表示的二进制位打包成python中的一个字节
【发布时间】:2014-12-19 20:47:24
【问题描述】:

我有一个字符串,其中包含一串表示二进制位的十六进制值,因此 0x00 = 二进制 0 和 0x01 = 二进制 1。如何将其中八个十六进制值打包成一个字节?

例如,字符串 = '\x01\x01\x00\x01\x00\x01\x00\x01' 我想要 0b11010101。

最终目标是从长字符串中提取几个字节的二进制文件。

如何做到这一点?到目前为止,我还没有看到任何使用 struct.pack 来执行此操作的实例。任何帮助将不胜感激!

【问题讨论】:

    标签: string python-3.x binary hex


    【解决方案1】:
    3>> int('\x01\x01\x00\x01\x00\x01\x00\x01'.translate({0: '0', 1: '1'}), 2)
    213
    

    【讨论】:

    • 这很好用!作为旁注,我最终不得不在应用之前将我的输入字符串拆分为 8 字节的块!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-07
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多