当前位置: 首页 > news >正文

邯郸市环保局网站建设项目环境wordpress自建模板

邯郸市环保局网站建设项目环境,wordpress自建模板,网站留言板怎么做phpsql,asp.net 4.0网站开发与项目实战(全程实录)(附光盘)【一】介绍 struct 模块提供了一种处理二进制数据的方式它允许你使用类似于C语言的结构体的方式来打包#xff08;pack#xff09;和解包#xff08;unpack#xff09;数据这对于处理二进制文件、网络协议等场景非常有用。 【二】使用 【1】打包 #xff08;1#xf…【一】介绍 struct 模块提供了一种处理二进制数据的方式它允许你使用类似于C语言的结构体的方式来打包pack和解包unpack数据这对于处理二进制文件、网络协议等场景非常有用。 【二】使用 【1】打包 1讲解 struct.pack(fmt, v1, v2......) 作用 fmt是格式字符串指定需要打包的数据格式v1v2,…是待打包的数据打包以后的数据格式为字节流 格式化表格来自于官网struct — Interpret bytes as packed binary data — Python 3.12.1 documentation FormatC TypePython typeStandard sizeNotesxpad byteno value(7)ccharbytes of length 11bsigned charinteger1(1), (2)Bunsigned charinteger1(2)?_Boolbool1(1)hshortinteger2(2)Hunsigned shortinteger2(2)iintinteger4(2)Iunsigned intinteger4(2)llonginteger4(2)Lunsigned longinteger4(2)qlong longinteger8(2)Qunsigned long longinteger8(2)nssize_tinteger(3)Nsize_tinteger(3)e(6)float2(4)ffloatfloat4(4)ddoublefloat8(4)schar[]bytes(9)pchar[]bytes(8)Pvoid*integer(5) 2代码演示 python基础数据类型单独打包 import structint_value 123156456 float_value 4561.1123 bool_value True# 整型打包以后占用四个字节 int_struct struct.pack(i, int_value) print(int_struct, len(int_struct))# 浮点型打包以后占用四个字节 float_struct struct.pack(f, float_value) print(float_struct, len(float_struct))# 布尔型打包以后占用四个字节 bool_struct struct.pack(?, bool_value) print(bool_struct, len(bool_struct)) python字符串数据类型打包 import structstr_value da456q1# 字符串格式需要转换成字节格式才可以打包并且还需要提供字符串的长度默认为1 # 提供的长度小于实际字符串的长度将打包部分数据造成打包不完整 str_struct struct.pack(7s, str_value.encode(utf8)) print(str_struct, len(str_struct))python基础数据类型一次性打包 注意fmt格式的顺序要和*v的顺序一致 import structint_value 123156456 float_value 4561.1123 bool_value True str_value da456q1# 一次打包多个 all_struct struct.pack(i f ? 2s, int_value, float_value, bool_value, str_value.encode(utf8)) print(all_struct, len(all_struct))【2】解包 1讲解 struct.unpack(fmt, v1, v2......)作用 fmt是格式字符串需要知道打包的格式v1v2,…是待打包的数据解包以后得到一个元组 2代码演示 单独数据解包 返回元组数据在元组第一个位置 import structint_struct struct.pack(i, 123156456) float_struct struct.pack(f, 4561.1123) bool_struct struct.pack(?, True) str_struct struct.pack(7s, da456q1.encode(utf8))# 解包后类型正常 int_res struct.unpack(i, int_struct) print(int_res, type(int_res[0]))float_res struct.unpack(f, float_struct) print(float_res, type(float_res[0]))bool_res struct.unpack(?, bool_struct) print(bool_res, type(bool_res[0]))str_res struct.unpack(7s, str_struct) print(str_res, type(str_res[0]))混合数据解包 按照打包顺寻返回一个元组 import structint_value 123156456 float_value 4561.1123 bool_value True str_value da456q1all_struct struct.pack(i f ? 7s, int_value, float_value, bool_value, str_value.encode(utf8))res struct.unpack(i f ? 7s, all_struct) print(res) # (123156456, 4561.1123046875, True, bda456q1)【三】应用 问题 在socket模块的TCP协议传输数据中 由于接收方不知道将要收到多大的数据而导致数据读取可能不完整 出现粘包问题struct模块就可以用来解决这个问题 解决办法 在每次发送数据之前就行数据大小计算计算的结果长度通过struct计算得到一个四字节的字节流通过发送这个固定大小的字节流接收端可以知道将要收到的数据的大小保证了可以将数据完整读出 # 服务端 import socket import struct# 1320KB的数据内容 big_data (重要信息 * 110).encode(utf8) data_size len(big_data) data_size_struct struct.pack(i, data_size)# 创建socket对象 server socket.socket() server.bind((localhost, 5656)) server.listen() conn, addr server.accept()# 先发送大小数据 conn.send(data_size_struct) # 发送大数据包 conn.send(big_data)# 关闭 conn.close() server.close()# 客户端 import socket import structclient socket.socket() client.connect((localhost, 5656))# 读取大小文件 head client.recv(4) total struct.unpack(i, head)[0]# 根据大小接收数据 have 0 data bytes() while have total:data client.recv(1024)have 1024print(data.decode(utf8))client.close()
http://www.pierceye.com/news/430532/

相关文章:

  • 网站的虚拟主机到期延吉建设局网站
  • 深圳seo网站优化公司wordpress页面权限插件
  • 手机制作购物网站农业 网站源码
  • 飞沐网站设计成都推广网站多少钱
  • 网站建设需要什么手续秦皇岛市房价
  • seo织梦网站建设步骤西宁网络公司电话
  • 河南省建设厅网站 吴浩石家庄做外贸网站建设
  • 免费网站发布怎么做的校园网站建设的参考文献
  • 网站空间管理平台腾讯会议多少钱一个月
  • 手机网站开发如何设置触摸功能的网页设计培训班
  • 淘宝客自己做网站中信建设有限责任公司 闫励
  • wordpress 分页不出来昆明网站快速优化排名
  • 玉泉路网站制作369网站建设中心
  • 服务器建设网站办一家建筑公司怎么样
  • 官网网站设计小程序免费制作流程
  • 宜昌哪有有做网站的wordpress如何添加页面子目录
  • 高端网站制作开发html写一个简单购物页面
  • 为什么百度搜索不到我的网站网站服务商排名
  • 深圳建设网站首页国土 住房与城乡建设部网站
  • wordpress拖拽式建站主题wordpress 类似软件
  • ps制作网站logo广西建设局网站
  • 专业网站建设公司排名wordpress上传媒体文件大小修改
  • 郑州app开发公司排名网站seo 文章转载 修改标题
  • 深圳网站备案查询成都建设施工安全协会网站
  • 做视频找素材的网站有哪些邢台做网站多少钱
  • 创世网站建设公司设计理念页面设计
  • 免费的网站模板昆明装饰企业网络推广
  • 怎样用微信做购物网站广州菜谱制作公司
  • 视频网站发展好应该怎么做wordpress移动支付免费
  • 青岛网站设计案例wordpress 转换成小程序