Python:num到bytes

时间:2010-10-20 11:47:05

标签: python

我希望有一些数字的字节表示。例如,一个字节数组,其第一个字节具有含义(0-255),第二个字节具有含义(0-255),依此类推。由于字符串是字节数组,如果我想存储97和66,我可以很容易地将其表示为“aB”。 现在,如果我想要第三个和第四个字节来表示0到65535之间的数字,我该怎么办?

Ps:我正在使用python 2.5,所以我无法利用函数来操作最近引入的字节(如bytes()和bytearray())。

编辑: 0-65536 - > 0-65535

2 个答案:

答案 0 :(得分:1)

你想要struct

>>> import struct
>>> struct.pack('<HBB', 12345, 97, 66)
'90aB'

答案 1 :(得分:0)

(如果你想代表0-65536,你会遇到一些困难,所以我认为你的意思是0-65535。)

只需在一个字节中存储x&gt;&gt; 8,在另一个字节中存储x&amp; 0xff。您还可以使用Python的struct模块将不同类型的数据打包成字节。