Python struct.pack() 函数

struct.pack() 是 Python 中一个强大的函数,用于将 Python 数据类型转换为二进制数据。它根据指定的格式字符串将给定的数据打包成一个字节串,方便数据存储、网络传输等操作。

使用方法:

struct.pack(format, v1, v2, ...)

  • format:格式字符串,定义了每个数据类型的格式和大小。
  • v1, v2, ...:要打包的 Python 数据类型。

格式字符串语法:

格式字符串由一个或多个格式字符组成,每个字符对应一种数据类型。以下是一些常用的格式字符:

  • 'i':整数 (4 字节)
  • 'l':长整数 (4 字节)
  • 'f':单精度浮点数 (4 字节)
  • 'd':双精度浮点数 (8 字节)
  • 's':字符串

实例:

import struct

data = struct.pack('i6s', 42, b'hello')
print(data)

在这个例子中,'i6s' 是格式字符串,表示打包一个整数 ('i') 和一个 6 字节的字符串 ('6s')。b'hello' 表示字节串,因为打包后的数据必须是二进制数据。

输出结果:

b'*���hello'

解包:

使用 struct.unpack() 函数可以将打包后的二进制数据解包回原始的 Python 数据类型。

import struct

data = b'*���hello'
(number, string) = struct.unpack('i6s', data)
print(number)
print(string)

总结:

struct.pack() 函数是将 Python 数据类型转换为二进制数据的重要工具,在网络编程、数据存储等场景中十分有用。了解格式字符串的语法和使用方法可以帮助您高效地进行数据打包和解包操作。

Python struct.pack() 函数详解:打包数据类型为二进制

原文地址: https://www.cveoy.top/t/topic/micq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录