读我使用:如何将int转换为24位字符串?
def UI24(t):
result = 0
for i in xrange(3):
result = (result << 8);
byte = unpack('>b',t[i-1])
result += byte;
return result
和写?
读我使用:如何将int转换为24位字符串?
def UI24(t):
result = 0
for i in xrange(3):
result = (result << 8);
byte = unpack('>b',t[i-1])
result += byte;
return result
和写?
这没有测试!
def UI24back(value):
result = ""
for i in xrange(3):
result = pack('>b', value &255) + result
value >>= 8
return result
简单只是垫他们当作多头
>>> from struct import pack, unpack
>>> def unpack24(s):
... return unpack(">L","\0"+s)[0]
...
>>> def pack24(i):
... return pack(">L",i)[1:]
...
我相信这将不适用于签名24位:( –
你的地方缺少一个右引号。 –
t [i-1]在循环的第一次迭代中有无效索引! – rocksportrocker
检查此:http://stackoverflow.com/questions/2262100/rgb-int-to-rgb-python –