如何将int转换为24bit字符串?

bdf*_*dfy 2 python

为了阅读我使用:

def UI24(t):
    result = 0
    for i in xrange(3):
        result = (result << 8);
        byte = unpack('>b',t[i-1])
        result += byte;
    return result
Run Code Online (Sandbox Code Playgroud)

写的?

Joh*_*ooy 5

更简单,只需填充它们并作为长处理

>>> from struct import pack, unpack
>>> def unpack24(s):
...     return unpack(">L","\0"+s)[0]
... 
>>> def pack24(i):
...     return pack(">L",i)[1:]
... 
Run Code Online (Sandbox Code Playgroud)