zoukankan      html  css  js  c++  java
  • Python 的结构体函数 struct pack, unpack 用法详解

    一 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'x05x00x06x00x0fx00x00x00'
    b'x13x00x00x00x14x00x00x00x19x00x00x00'

    四 函数: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'x05x00x06x00x0fx00x00x00'
    (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'x05x00x06x00x0fx00x00x00'
    Size of the string representation:%8.

        

  • 相关阅读:
    Caliburn micro 学习笔记...
    First steps with Caliburn Micro in Windows Phone 8 系列文章
    WPF and Silverlight.ComboBox 如何通过 Binding IsDropDownOpen 实现下拉菜单展开
    http各个状态码的详解
    点阵字库产生的原理
    Windows 服务调试方法(基于.net framwork4.6)
    关于.net Core 笔记
    JS+ google.maps.api 实现基本的导航功能
    C# 遍历控件检查是否有被选中的项(通用)
    C#编程习惯
  • 原文地址:https://www.cnblogs.com/dylancao/p/13896630.html
Copyright © 2011-2022 走看看