1

我知道有很多与我的问题有关的问题,但我很难理解打包和解包的工作原理。

例如 usingstruct.pack("!B",14)给我的价值x0e基本上这是一个单字节二进制文件。

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

我的问题的背景细节

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

参考链接:

4

1 回答 1

5

§7.3.2.2 中所述。Python 手册的格式字符,无符号 4 字节长的格式代码是L.

struct.pack("!L", 104277)
于 2013-04-05T13:44:15.677 回答