1
我試圖解開字節蟒蛇: -如何在Python中使用結構模塊解壓字節?
import struct
c_struct_exp='struct lokesh { int i=5;} lm;'
result=struct.unpack('!i',bytes(c_struct_exp,'utf-8'))
print(result)
錯誤:
struct.error: unpack requires a bytes object of length 4
請幫我在解壓縮方法的格式字符串表達式。
我沒有直接使用C源代碼。我將c源代碼轉換爲原始字節: - 在使用它解包方法之前,將字節(c_struct_exp,'utf-8')轉換爲.. –
嘗試打印'bytes(...)'調用的輸出 - 它仍然是*源代碼*。 '解壓縮'解碼一個結構的內存映像*,而不是它的源描述。 –
okk :)得到它...其實我試圖解碼從C客戶端在服務器端(python接收端)的C結構數據包..我怎麼能解碼解壓接收到的原始字節(C結構,這是內存圖像,而不是客戶端的源代碼)...我如何解壓上述類型的結構: - 'typedef struct packet {int command; union {struct {int data [100]; int ttl [100];}; struct {char config [256]; };};} myPacketStruct;' –