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

python struct

作者:飞吻狂魔   发布日期:2025-08-19   浏览:48

import struct

# 示例代码:打包和解包数据

# 定义一个包含不同类型数据的元组
data = (1, 2.34, 'hello')

# 打包数据为二进制字符串
# 格式字符串解释:
#   i - 有符号整数 (4 字节)
#   f - 浮点数 (4 字节)
#   5s - 字符串,长度为 5 的字节串
packed_data = struct.pack('if5s', *data)

print(f"Packed data: {packed_data}")

# 解包二进制字符串回原始数据
# 注意:解包时需要指定正确的格式字符串,并且字符串长度必须匹配
unpacked_data = struct.unpack('if5s', packed_data)

# 解包后的字符串会包含填充的空字符,使用 decode() 和 strip() 去除
unpacked_data = (unpacked_data[0], unpacked_data[1], unpacked_data[2].decode().strip('\x00'))

print(f"Unpacked data: {unpacked_data}")

解释说明:

  1. 导入模块import struct 导入 Python 的 struct 模块,用于处理二进制数据。
  2. 定义数据:创建一个包含不同类型数据的元组 data
  3. 打包数据:使用 struct.pack 函数将数据打包成二进制字符串。格式字符串 'if5s' 表示依次打包一个整数、一个浮点数和一个长度为 5 的字符串。
  4. 打印打包后的数据:输出打包后的二进制字符串。
  5. 解包数据:使用 struct.unpack 函数将二进制字符串解包回原始数据。注意解包时需要使用相同的格式字符串。
  6. 处理解包后的字符串:由于字符串在打包时可能会被填充空字符(\x00),因此在解包后需要使用 decode()strip() 方法去除这些多余的字符。

上一篇:python在线编译

下一篇:python global用法

大家都在看

python时间格式

python开发windows应用程序

python中len是什么意思

python ord和chr

python中的yield

python自定义异常

python判断路径是否存在

python list.pop

python pypinyin

python的for i in range

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

Laravel 中文站