另一种方式很简单int(byte_buffer.encode('hex'), 16 )
但是如何将该整数转换回byte_buffer
。
通过在struct.pack('>I', len(byte_buffer))
前加上值来存储长度。
在2.7中有int.bit_length()
这是一个好的开始,但不幸的是我必须能够在2.6上运行它。
答案 0 :(得分:1)
这就是我想出来的。
def int2str(i):
_bytes = list()
while i > 0:
n = i % 256
_bytes.insert(0, n)
i = i >> 8
return ''.join(struct.pack('B', x) for x in _bytes)