1
我需要通過串行連接發送32位整數,例如:0xc6bf6f34
應該變爲:b'\xc6\xbf\x6f\x34'
。我如何編碼32位整數到字節數組?
爲此,我創造了這個,但是,總有這樣的編碼後,我想知道,如果它是pythonicism可以用一些標準libary加以改進:
def ltonlba(value):
''' ltonlba : Long to Network Long Byte Array '''
from socket import htonl
value = htonl(value)
ba = b''
for i in range(4):
ba += chr((value) & 0xff)
value >>= 8
return ba
'struct.pack()'解決方案是否也適用於Python 3.2+? – Jamie
@Jamie,它可以在Python 2.x,3.x中使用。我在Python 2.7.13/3.5.3/3.6.1中測試了它。 – falsetru
@Jamie,我回滾了你的改變。根據你的問題,你想要一點點小尾巴。 – falsetru