在
Python中有一个字节缓冲区对象,我可以附加特定类型的值吗? (优选具有可指定的端性)
例如:
buf.add_int(4) # should add a 4 byte integer buf.add_short(10) # should add a 2 byte short buf.add_byte(24) # should add a byte
我知道我可以使用struct.pack,但这种方法看起来更容易.理想情况下,它应该像Java中的DataOutputStream和DataInputStream对象一样完成任务.
解决方法
你可以随时使用
bitstring.它能够做所有你要求的事情和更多.
>>> import bitstring >>> stream=bitstring.BitStream() >>> stream.append("int:32=4") >>> stream.append("int:16=10") >>> stream.append("int:8=24") >>> stream BitStream('0x00000004000a18') >>> stream.bytes '\x00\x00\x00\x04\x00\n\x18'
这是documentation的链接.