2018-07-08

Python没有专门处理字节的数据类型。但由于str既是字符串,又可以表示字节,所以,字节数组=str。而在C语言中,我们可以很方便地用struct、union来处理字节,以及字节和int,float的转换。

Python提供了一个struct模块来解决str和其他二进制数据类型的转换。


# 1.1 struct.pack(fmt,v1,v2,.....)

#   将v1,v2等参数的值进行一层包装,包装的方法由fmt指定。被包装的参数必须严格符合fmt。最后返回一个包装后的字符串。

# 1.2 struct.unpack(fmt,string)

#   顾名思义,解包。比如pack打包,然后就可以用unpack解包了。返回一个由解包数据(string)得到的一个元组(tuple), 即使仅有一个数据也会被解包成元组。其中len(string) 必须等于 calcsize(fmt),这里面涉及到了一个calcsize函数。struct.calcsize(fmt):这个就是用来计算fmt格式所描述的结构的大小。   格式字符串(format string)由一个或多个格式字符(format characters)组成也可以说 unpack把str变成相应的数据类型。

struct模块定义的数据类型如下:



©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 该模块在Python值和表示为Python bytes对象的C结缓冲区构体之间进行转换。可用于处理存储在文件中或者...
    lakerszhy阅读 1,353评论 0 0
  • 朝九晚五非我所愿,接触电商便不言放弃 毕业后我做过两种不同的工作,一个是3年的朝九晚五上班族,这个工作说实话,确实...
    bienao1阅读 206评论 0 1
  • 看了《我的青春遇见你》之后,不由自主地被姜妍的演技吸引了过去,也喜欢上了她,现在,我又开始关注她的另外一部剧《亲爱...
    太平洋深海的鱼阅读 332评论 1 1
  • 你是个好抱怨的人吗? 你是否曾经或正在经历这样的困扰 明知对别人的埋怨、仇恨、 让自己伤神难安 没有一丝一毫的好处...
    豆妈咪阅读 362评论 0 0
  • 在软件需求、开发、测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,要么需要手...
    三胖道长阅读 51,932评论 7 36