如何使用python 2.5打包和解包数据



我知道有很多问题与我的问题有关,但我很难理解如何包装& &;解包工作。

例如,

使用struct.pack("!B",14)可以得到x0e的值,这基本上是一个单字节二进制。

如何创建一个四字节二进制文件?例如,struct.pack("!B",104277)应该生成0x00019755,但我不能让struct.pack("!B",104277)代码输出0x00019755

我的问题的背景细节

我正在尝试创建一个"4型高分辨率灰度指纹图像"记录,这是NIST标准的一部分。Type-4记录的第一个值是记录的长度(LEN),在本例中为104277位,但是标准规定LEN应该用四字节二进制表示。我的示例数据包含这个值0x00019755,它已经被转换为四字节二进制,因此符合标准。

参考链接:

  • http://code.beckjohnson.com/NistRecordTypes.html
  • http://www.nist.gov/itl/csd/biometrics/ansi-nist.cfm

如第7.3.2.2节所述。Python手册中的格式字符,无符号4字节长度的格式代码为L

struct.pack("!L", 104277)

最新更新