【发布时间】:2016-06-23 21:13:43
【问题描述】:
简单地使用 tobytes 和 frombytes 方法并不总是给出如下所示的等价对象。
这似乎源于源位数组的长度不能被八整除。
from bitarray import bitarray # pip install bitarray
foo = bitarray('0000000000000000000000000000000000000000000000000000000000'
'0000000000000000000000000000000000000000000000000000000000'
'0000000000000000000000000000000000000000000000000010000000'
'0000000000000000000000000000000000000000000000000000000000'
'0000000000000000000000000000000000000000000000000000000000'
'0000000000000000000000000000000000000000000000000000000000'
'0000000000000000000000000000000000000000000000010000000000'
'0000000000000000000000000000000000000000000000000000000000'
'0000000000000000000000000000000000000000000000000000000000'
'0000000000010000000000000000000000000000000000000000000000'
'0000000000000000000000000000000000000000000000000000000000'
'0000000000000000000000000000000000000000000000000000000000'
'0000000000000000000000000000000000000000000000000000000000'
'0000000000000000000000000000000000000000000000000000000000'
'0000000000000000000000000000000000000000000000000000000000'
'000000000000000000000000000000000000000000000001000000',
endian="little")
bar = bitarray(endian="little")
bar.frombytes(foo.tobytes())
assert(foo.tobytes() == bar.tobytes()) # passes
assert(foo == bar) # fails
【问题讨论】:
标签: python serialization bitarray