gpt4 book ai didi

Python字节数组到位数组

转载 作者:太空宇宙 更新时间:2023-11-03 13:32:54 25 4
gpt4 key购买 nike

我想用 Python 和 scapy 解析一些数据。因此,我必须分析单个位。但目前我有一些有效负载的 UDP 数据包,例如:

bytes = b'\x18\x00\x03\x61\xFF\xFF\x00\x05\x42\xFF\xFF\xFF\xFF'

是否有任何优雅的方法来转换字节,以便我可以访问单个位,例如:

bytes_as_bits = convert(bytes)
bit_at_index_42 = bytes_as_bits[42]

最佳答案

这会起作用:

def access_bit(data, num):
base = int(num // 8)
shift = int(num % 8)
return (data[base] >> shift) & 0x1

如果你想创建一个二进制数组,你可以像这样使用它:

[access_bit(data,i) for i in range(len(data)*8)]

关于Python字节数组到位数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43787031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com