首页 > 编程语言 > 详细

python的struct模块

时间:2020-02-16 17:40:05      阅读:110      评论:0      收藏:0      [点我收藏+]

 1、实际简单的来理解就是bytes是网络传输时所用的数据类型。struct函数可以将python当中的数据类型(str,float)转换为bytes进行网络传输。

2、其次就时在进行tcp协议的时候,能够解决粘包现象,简单理解就是,tcp协议在网络传输较快,会导致粘包现象。而struct模块相当于在传输字节的过程当中有一个约定,分为报头和报文,报头来约束后面报文的格式。 

3、函数

  • struct.pack(fmt, v1, v2, ...)
    根据指定的格式 fmt 将值 v1, v2打包成字节对象
  • struct.pack_into(fmt, buf, offset, v1, v2, ...)
    按偏移量 offset 根据指定的格式 fmt 将值 v1, v2打包成字节对象并写入缓冲区
  • struct.unpack(fmt, buf)
    根据格式 fmt 从缓冲区解压出数据,以 tuple 的形式返回。
    缓冲区的大小(以字节为单位)必须与格式所需的大小相匹配,如 calcsize() 所示。
  • struct.unpack_from(fmt, buf, offset=0)
    根据格式字符串格式从位置偏移处开始从缓冲区解包。
    缓冲区的大小(以字节为单位,减去偏移量)必须至少为格式所需的大小,如 calcsize() 所示
  • struct.iter_unpack(fmt, buf)
    根据格式字符串格式从缓冲区缓冲区迭代解压缩。此函数返回一个迭代器,它将从缓冲区读取大小相同的块,直到其所有内容都被消耗掉。缓冲区的大小(以字节为单位)必须是格式所需大小的倍数,如 calcsize()所示。
    每次迭代都会产生格式字符串指定的元组
  • struct.calcsize(fmt)



python的struct模块

原文:https://www.cnblogs.com/0523zw/p/12317261.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!