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}")
import struct
导入 Python 的 struct
模块,用于处理二进制数据。data
。struct.pack
函数将数据打包成二进制字符串。格式字符串 'if5s'
表示依次打包一个整数、一个浮点数和一个长度为 5 的字符串。struct.unpack
函数将二进制字符串解包回原始数据。注意解包时需要使用相同的格式字符串。\x00
),因此在解包后需要使用 decode()
和 strip()
方法去除这些多余的字符。上一篇:python在线编译
下一篇:python global用法
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站