Loading

struct模块

Struct模块

将一个类型转成固定长度的bytes。

格式 C 类型 Python 类型 标准大小 注释
x 填充字节
c char 长度为 1 的字节串 1
b signed char 整数 1 (1), (2)
B unsigned char 整数 1 (2)
? _Bool bool 1 (1)
h short 整数 2 (2)
H unsigned short 整数 2 (2)
i int 整数 4 (2)
I unsigned int 整数 4 (2)
l long 整数 4 (2)
L unsigned long 整数 4 (2)
q long long 整数 8 (2)
Q unsigned long long 整数 8 (2)
n ssize_t 整数 (3)
N size_t 整数 (3)
e (6) 浮点数 2 (4)
f float 浮点数 4 (4)
d double 浮点数 8 (4)
s char[] 字节串
p char[] 字节串
P void * 整数 (5)

方法:

pack(格式,类型):将类型转为指定格式长度的bytes

import struct

print(struct.pack('i',999999999))
b'\xff\xc9\x9a;'

unpack(格式,bytes):以pack打的包同样的格式拆包为元组。

import struct

res = struct.pack('i',999999999)
print(struct.unpack('i',res))
(999999999,)
posted @ 2021-01-23 17:34  吃了好多肉  阅读(73)  评论(0编辑  收藏  举报