Python之路——struct模块
struct模块
# struct 模块 用来将数字字符串等转换成固定长度的字节 # format: # x: pad byte (no data); c:char; b:signed byte; B:unsigned byte; # ?: _Bool (requires C99; if not available, char is used instead) # h:short; H:unsigned short; i:int; I:unsigned int; # l:long; L:unsigned long; f:float; d:double. # Special cases (preceding decimal count indicates length): # s:string (array of char); p: pascal string (with count byte). # Special cases (only available in native format): # n:ssize_t; N:size_t; # P:an integer type that is wide enough to hold a pointer. # Special case (not in native mode unless 'long long' in platform C): # q:long long; Q:unsigned long long import struct # a = struct.pack('i',4658) # 'i' 模式转换成4个字节 # print(a,len(a)) # b'2\x12\x00\x00' 4 # b = struct.unpack('i',a) # print(b) # (4658,) # print(b[0]) # unpack后的数据是一个元组 # a = struct.pack('f',5641564987) # print(a,len(a)) # b'2\x12\x00\x00' 4 # b = struct.unpack('f',a) # print(b) # (4658,) # print(b[0]) # unpack后的数据是一个元组 # # 输出 # # b'\xba!\xa8O' 4 # # (5641565184.0,) # # 5641565184.0