我知道有关于我的问题的多个问题,但是我很难理解包装和包装的问题。解包工程。
例如使用struct.pack("!B",14)
给出了x0e
的值,基本上这是一个单字节的二进制文件。
如何创建一个四字节的二进制文件?例如struct.pack("!B",104277)
应生成0x00019755
,但我无法将此代码struct.pack("!B",104277)
输出0x00019755
我的问题的背景细节
我正在尝试创建一个“Type-4高分辨率灰度指纹图像”记录,这是NIST标准的一部分。 Type-4记录的第一个值是记录的长度(LEN),在这种情况下是104277位,但是标准规定LEN应该表示为四字节二进制。我的示例数据包含此值0x00019755
,该值已经转换为四字节二进制,因此符合标准。
参考链接:
答案 0 :(得分:5)
如Python手册的§7.3.2.2. Format Characters中所述,无符号4字节长的格式代码为L
。
struct.pack("!L", 104277)