Python的struct库

原创 2011年01月22日 22:08:00

ython的socket库采用string类型来发送和接收数据,这样当我们用

i = socket.recv(4)

来接收一个4字节的整数时,该整数实际上是以二进制的形式保存在字符串 i 的前4个字节中;大多数的时候我们需要的是一个真正的integer/long型,而不是一个用string型表示的整型。这时我们可以使用struct 库:Interpret strings as packed binary data. 对上面的情况,我们可以写

t = unpack("I", i)

第一个参数是格式化字符串,I指明字符串 i 包含的头一个数据项是一个以C语言的unsigned integer表示的整数,这里 i 只包含了一个数据项,实际上这个被解释的字符串也可以包含多个数据项,只要在格式化字符串里为每项数据指明一个格式即可;自然地,unpack返回的就是 一个tuple类型了。

Python学习——struct模块的pack、unpack示例

import struct pack、unpack、pack_into、unpack_from [python] view plaincopyprint? ...

Python使用struct处理二进制(pack和unpack用法)

[转]Python使用struct处理二进制(pack和unpack用法) Leave a reply 转载自:http://www.cnblogs.com/gala/archiv...

Python使用struct处理二进制

有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体.   struc...

python中用struct模块处理二进制数据(转)

http://blog.163.com/tieying5566@126/blog/static/6421517120117342958949/ 有的时候需要用python处理二进制数据,...

Python学习——struct模块的pack、unpack示例

import struct pack、unpack、pack_into、unpack_from [python] view plain copy ...

python struct模块应用.数据转换换成二进制流

class Buffer: def __init__(self, bytes=None, recogn=10000): if (bytes == None): ...

Python-struct.error: argument for 's' must be a bytes object

问题说明:我使用的Python3.0版本,运行以下的代码的时候出现了报错。#Python 3.0F=open('data.bin','wb') import struct data=struct.pa...

Python模块——struct

python中该如何实现类似于C语言中字节型的变量? python提供了一个struct模块来提供转换。该模块的主要作用是对python基本类型值与用python字符串格式表示的C struct类型间...

python struct

有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体.   struct模...

python struct pack

看到在进行c格式的二进制文件读取的过程中,用到了struct.unpack方法,因此开始找struct模块的一些相关解释,网上没有看到很清晰的说明,那就根据Python v2.6.5 document...
  • adermxl
  • adermxl
  • 2011年10月21日 16:05
  • 1300
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python的struct库
举报原因:
原因补充:

(最多只允许输入30个字)