我是python的新手所以如果听起来像是一个新手问题,请耐心等待。我查了一下,但不同的消息来源告诉我不同的事情,所以我决定在这里问一下。 doc不是很清楚。
我有一个想要转换为字节的int。
#1024 should give me 0000010000000000
print bytes([1024])
[1024]
如果我使用bytes()我假设我得到一个列表,因为当我打印时我最终得到[1024]。但是,如果我这样做
print bytes([1024])[0]
[
我回来了。为什么是这样?所以它不返回列表?
有没有办法在给定整数的情况下获取字节流?理想情况下,我想要的东西如下:
x = tobyte(1024)
print x[0] #should give me 0 00000000
print x[1] #should give me 8 00000100
我需要能够在代码中的其他地方使用x [0],即传递给base64编码,我希望我的数据是64位
答案 0 :(得分:2)
要从整数中获取单个字节,请使用struct
:
individual_bytes = struct.unpack("BB", struct.pack("<H", 1024))
首先,"<I"
使用little-endian排序将整数打包为16位值。然后"BB"
将字节串解包为两个独立的8位值。