1
另一種方式是簡單int(byte_buffer.encode('hex'), 16)
如何收拾字節緩存任意大小的整數Python中
但我怎麼轉換該整數回byte_buffer
。
長度將通過將struct.pack('>I', len(byte_buffer))
加上該值來存儲。
2.7中有int.bit_length()
這將是一個好的開始,但不幸的是我必須能夠在2.6上運行這個。
另一種方式是簡單int(byte_buffer.encode('hex'), 16)
如何收拾字節緩存任意大小的整數Python中
但我怎麼轉換該整數回byte_buffer
。
長度將通過將struct.pack('>I', len(byte_buffer))
加上該值來存儲。
2.7中有int.bit_length()
這將是一個好的開始,但不幸的是我必須能夠在2.6上運行這個。
這就是我想出來的。
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)
在這裏你有問題,出來的東西的長度可能會有所不同。所以也許你想解決這個問題。此外,'struct.pack('B',x)'與'chr(x)'相同...... – glglgl
這解決了我自己,但不知道我的解決方案是如何最優的。 – Kimvais