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

 

posted @ 2018-01-29 11:51  liuyankui163  阅读(109)  评论(0编辑  收藏  举报