我有以下代码:
bittrans = '0b' + str(bitnumber)
strnumber = bitstring.BitArray(bittrans)
print bittrans
print strnumber
哪个输出:
0b1001010100000010111110001111111111
0x9502f8ff, 0b11
如何阻止bittring表单拆分?
答案 0 :(得分:0)
这只是BitArray
使用的字符串表示形式,如果你print
出来,可以让你的bitarray更容易查看。它与内部表示无关。
它分裂是因为BitArray.__str__
想要将你的bitarray表示为一堆字节,如下所示:
0x95 02 f8 ff ?
您不能明确地将您的位串表示为字节,因为位串中的位数不是8的倍数:
In [60]: len('1001010100000010111110001111111111') % 8
Out[60]: 2
请注意,您在问题中的字符串表示中剩余了多少位。您将需要用6个位来填充数字,以使其可以表示为“单个”十六进制数。
您可以打印出strnumber.bin
:
In [75]: print strnumber.bin
1001010100000010111110001111111111