2024-09-29 17:18:21 发布
网友
我有以下代码:
bittrans = '0b' + str(bitnumber) strnumber = bitstring.BitArray(bittrans) print bittrans print strnumber
输出:
0b1001010100000010111110001111111111 0x9502f8ff, 0b11
如何阻止位字符串形式本身分裂?你知道吗
这只是BitArray使用的字符串表示形式,如果您print使用它,您的位数组将更易于查看。它与内部表示无关。你知道吗
BitArray
print
它分裂是因为BitArray.__str__希望将位数组表示为一组字节,如下所示:
BitArray.__str__
0x95 02 f8 ff ?
不能明确地将位字符串表示为字节,因为位字符串中的位数不是8的倍数:
In [60]: len('1001010100000010111110001111111111') % 8 Out[60]: 2
请注意,这是您的问题中的字符串表示中剩余的位数。你将不得不用6个以上的位来填充你的数字,使之成为一个“单一”的十六进制数。你知道吗
您可以打印strnumber.bin:
strnumber.bin
In [75]: print strnumber.bin 1001010100000010111110001111111111
这只是
BitArray
使用的字符串表示形式,如果您print
使用它,您的位数组将更易于查看。它与内部表示无关。你知道吗它分裂是因为
BitArray.__str__
希望将位数组表示为一组字节,如下所示:不能明确地将位字符串表示为字节,因为位字符串中的位数不是8的倍数:
请注意,这是您的问题中的字符串表示中剩余的位数。你将不得不用6个以上的位来填充你的数字,使之成为一个“单一”的十六进制数。你知道吗
您可以打印
strnumber.bin
:相关问题 更多 >
编程相关推荐