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 に答える