2013-04-05 70 views
1

我知道存在多個與我的問題有關的多個問題,但我很難理解打包解包的工作方式。如何使用python打包和解壓數據2.5

例如使用struct.pack("!B",14)給我的值爲x0e基本上這是一個單字節的二進制。

我該如何創建一個四字節的二進制文件?例如struct.pack("!B",104277)應該產生0x00019755,但我不能得到這個代碼struct.pack("!B",104277)輸出我的問題

我試圖創建一個「類型-4高分辨率灰度指紋圖像」中記錄的0x00019755

背景細節這是NIST標準的一部分。 Type-4記錄的第一個值是記錄的長度(LEN),在本例中爲104277位,但標準規定LEN應該表示爲四字節二進制。我的樣本數據包含這個值0x00019755,它已經被轉換爲四字節的二進制文件,因此符合標準。

參考鏈接:

回答

5

如在Python手冊§7.3.2.2. Format Characters指定,無符號的4字節長格式代碼是L

struct.pack("!L", 104277) 
+0

感謝您的好意回到我身邊。我使用的是本地Python庫參考(Python 2.5文檔),它沒有在您提供的鏈接中的「標準大小」列。無論如何,謝謝我會嘗試這個,我相信它會起作用。 – zulucoda 2013-04-05 16:46:12