python - 如何使用字节数组将位数组写入文件
问题描述
我有一个 int 值数组,范围从 0 到 1。即[0,1,1,0,0,1,0,0,1...]
。如何使用 bytearray 将其写入文件,其中每个字节包含数组中的 8 个元素(8 位)。|
和字节标题只是例如:
输出:
| byte 1 | byte 2 | etc...
|01100100|1... |
011001001...
解决方案
这里有一个过度设计的解决方案,仅当列表的元素数量是 8 的倍数时才有效
l = [0,1,1,0,1,1,0,0,
1,0,1,0,1,1,1,0,
0,1,0,1,0,1,0,1,
0,0,1,1,0,0,0,0]
for n in range(len(l)//8):
print('| byte ', n+1, ' ', sep='', end='')
print('|')
for byte in zip(*[iter(l)]*8):
print('|', *byte, sep='', end='')
print('|')
出去:
| byte 1 | byte 2 | byte 3 | byte 4 |
|01101100|10101110|01010101|00110000|
推荐阅读
- android - 更改列表项中组件的可见性后,不应用 android listview 的单击事件
- css - 如何使用 css 禁用某些单选按钮
- typescript - Vuetify + typescript 没有重载匹配这个调用错误
- flutter - Flutter Http post call 不适用于网络,仅适用于移动设备
- javascript - 节点服务器上的 Anvil
- node.js - 使用纱线运行电子应用程序时无法打印
- xml - 通过 XSLT 将金额字段格式化为 9(09)V9(06) 格式
- design-patterns - 我在哪里可以找到“功能切换”等软件技术的列表或目录?
- node.js - Puppeteer:在下拉选择 FILTER 后等待请求完成
- angular - 自动滚动到 Angular 模板驱动表单中的第一个错误字段