Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python struct模块

作者:热血震荡   发布日期:2026-03-03   浏览:126

import struct

# 示例1: 打包和解包整数
# 'I' 表示无符号整数 (unsigned int)
packed_data = struct.pack('I', 12345)
print(f"Packed: {packed_data}")  # 打包后的二进制数据

unpacked_data = struct.unpack('I', packed_data)
print(f"Unpacked: {unpacked_data[0]}")  # 解包后的整数

# 示例2: 打包和解包多个值
# 'i' 表示有符号整数 (signed int), 'f' 表示浮点数 (float)
values = (1, 2.5, -3)
packed_values = struct.pack('ifq', *values)  # 包含整数、浮点数和长整数
print(f"Packed multiple values: {packed_values}")

unpacked_values = struct.unpack('ifq', packed_values)
print(f"Unpacked multiple values: {unpacked_values}")

# 示例3: 使用格式字符串中的数量词
# '4s' 表示4个字符的字符串, 'h' 表示短整数 (short int)
format_string = '4sh'
original_data = ('spam', 42)
packed_data = struct.pack(format_string, original_data[0].encode(), original_data[1])
print(f"Packed with count: {packed_data}")

unpacked_data = struct.unpack(format_string, packed_data)
print(f"Unpacked with count: {unpacked_data[0].decode()}, {unpacked_data[1]}")

解释说明:

  • struct.pack:用于将 Python 值根据给定的格式符转换为 C 结构体的字节表示。
  • struct.unpack:用于将 C 结构体的字节表示转换回 Python 值。
  • 格式符(如 'I', 'i', 'f', 'q', '4s', 'h')定义了数据类型和长度,具体可以参考官方文档。
  • encode()decode():用于在字符串和字节之间进行转换,因为打包时需要使用字节形式的数据。

通过这些例子,你可以了解如何使用 struct 模块来处理二进制数据。

上一篇:python中upper

下一篇:python的运算符

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

staticmethod在python中有

python 保存json文件

python开发windows应用程序

python中len是什么意思

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站