亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python struct.pack 和 unpack

Python struct.pack 和 unpack

PHP
牧羊人nacy 2023-11-09 20:13:36
我絕不是一個經驗豐富的Python程序員,這就是為什么我相信這個問題可能有一個明顯的答案,但我就是無法理解struct.pack和unpack。我有以下代碼:struct.pack("<"+"I"*elements, *self.buf[:elements]) 我想反轉它的打包,但是我不知道如何反轉,我知道“<”表示小端,“I”是無符號整數,僅此而已,我不知道如何使用 struct.unpack 反轉打包。
查看完整描述

2 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

struct.pack獲取非字節值(例如整數、字符串等)并將它們轉換為bytes. 相反,struct.unpack將bytes它們轉換為“高階”等價物。


例如:


>>> from struct import pack, unpack

>>> packed = pack('hhl', 1, 2, 3)

>>> packed

b'\x00\x01\x00\x02\x00\x00\x00\x03'

>>> unpacked = unpack('hhl', packed)

>>> unpacked

(1, 2, 3)

因此,在您的實例中,您有小端無符號整數(elements其中很多)。您可以使用相同的結構字符串(部分'<' + 'I' * elements)解壓它們 - 例如struct.unpack('<' + 'I' * elements, value)。

示例來自: https: //docs.python.org/3/library/struct.html


查看完整回答
反對 回復 2023-11-09
?
www說

TA貢獻1775條經驗 獲得超8個贊

查看文檔: https: //docs.python.org/3/library/struct.html

obj = struct.pack("<"+"I"*elements, *self.buf[:elements])
struct.unpack("<"+"I"*elements, obj)

這對你有用嗎?


查看完整回答
反對 回復 2023-11-09
  • 2 回答
  • 0 關注
  • 214 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號