将4个字符包装成int(Python)?

时间:2016-02-21 07:06:25

标签: python

是否可以将4个字符包装到python中的int中并将其表示为bytearray中的一个值?我正在考虑将它打包成一个结构,但如果我尝试像

那样会遇到错误

characters = b'abcd' struct.pack('i',characters)

1 个答案:

答案 0 :(得分:4)

我不确定我是否理解你的问题 - 如果你想把一个字节串并把它变成一个整数,在python3.x上,这很容易:

import sys
value = int.from_bytes(b'abcd', sys.byteorder)  # for me, byteorder is `'little'`
assert value == 1684234849

在python2.x上,你解压结构(也适用于python3.x):

value, = struct.unpack('<i', b'abcd')
assert value == 1684234849

现在,如果您想将此值放入bytearray中 - 答案是否定的,那么您就无法做到。 bytearray仅接受值0 - &gt; 255