Fork me on GitHub

随笔 - 997  文章 - 5  评论 - 181  阅读 - 300万 

 

一 python 结构体

 

     * python struct 模块可以用来在存储二进制文件,广泛用在文件系统,网络连接领域。

    *  它可以用在c语言和python语言之间的数据的格式转换。

 

二  Python Struct Functions

 

       这里有5个重要的数据结构模块函数:pack(),unpack(),calcsize(),pack_info()和unpack_from(). 这些函数一般用来把其他文件转成二进制文件.

常用的数据格式有:

?: boolean
h: short
l: long
i: int
f: float
q: long long int

 

三 函数:Python struct.pack()

 

  这个函数的作用就是把一系列植包装成字符串:输入参数必须要和输入格式严格匹配:

 

  example:

  

import struct

var = struct.pack('hhi',5,6,15)
print(var)

var = struct.pack('iii',19,20,25)
print(var)

    结果:

b'\x05\x00\x06\x00\x0f\x00\x00\x00'
b'\x13\x00\x00\x00\x14\x00\x00\x00\x19\x00\x00\x00'

 

 

四 函数:Python struct.unpack()

   

     函数unpack的作用是把变量转换成特定格式的初始化模样。这个函数一直返回一个: tuple 结构体,哪怕是只有一个变量。下面是unpack的一个例子:

import struct

var = struct.pack('hhi',5,6,15)
print(var)
ivar = struct.unpack('hhi',var)
print(ivar)

 

很明显,需要在入参中输入需要转换的原始变量的类型才行:

b'\x05\x00\x06\x00\x0f\x00\x00\x00'
(5, 6, 15)

 

五 函数:Python struct calcsize()

   

   该函数的作用是计算和返回特定字符串的长度,如下所示:

import struct

var = struct.pack('hhi',5,6,15)
print(var)
print("Size of the string representation:%{}.".format(struct.calcsize('hhi')))

  结果:

b'\x05\x00\x06\x00\x0f\x00\x00\x00'
Size of the string representation:%8.

 

    

posted on   虚生  阅读(5592)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
历史上的今天:
2018-10-29 语音识别六十年
2018-10-29 神经网络架构PYTORCH-几个概念
点击右上角即可分享
微信分享提示