将整数元组转换为字节对象的建议

时间:2019-01-15 23:13:26

标签: arrays python-3.x casting int tuples

首先,我是python的新手。

我已经阅读了一个视频文件,将其解压缩为int元组,现在想以十六进制显示字节。我也希望每个十六进制字节都用空格分隔。输出到gui窗口,因此我通过处理切片的tuple一次处理一行。

df <- data.frame(ca = c("a","b","a","c","b", "b"), f_new = c(3,9,6,1,12, 11), f3 = c(3,0,6,3,0, 8)) ' '.join似乎是我想要的,但是hexlify()需要一个字节对象,而我似乎无法将int元组哄骗到一个字节对象。

hexlify

失败,因为buf = ' '.join(hexlify(bytes(packet[c:c+cols]))) 想要一个字符串而不是整数元组。

我怀疑有类似的解决方案

bytes()

buf = ' '.join(hexlify([struct.pack("B",b&0xff) for b in packet[c:c+cols]])) 失败

TypeError: a bytes-like object is required, not 'list'

失败buf = ' '.join(hexlify(bytes([struct.pack("B",b&0xff) for b in packet[c:c+cols]])))

尝试手动构建字节对象

TypeError: 'bytes' object cannot be interpreted as an integer

但是ba = self.toByteArray(packet[c:c+cols]) buf = ' '.join(hexlify(ba)) ... def toByteArray(self, intTuple): buf = bytearray() for b in intTuple: buf.append(b) #struct.pack("B",b)) return buf 转换将参数解释为ascii。注释掉的版本也因

而失败
bytearray.append()
buf.append(struct.pack("B",b))

应该不难吗?

0 个答案:

没有答案