1

另一种方法很简单int(byte_buffer.encode('hex'), 16 )

但是如何将该整数转换回byte_buffer.

长度将通过附加struct.pack('>I', len(byte_buffer))到值来存储。

在 2.7 中int.bit_length()这将是一个好的开始,但不幸的是我必须能够在 2.6 上运行它。

4

1 回答 1

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)
于 2013-07-31T12:36:28.067 回答