[英]How do I convert Perl's pack 'Nc*' format to struct.pack for Python?
我正在嘗試將Perl腳本轉換為python,它使用了很多不同的包。 我已經能夠找出每個“模板”中的字母差異,但我在理解如何處理Perl缺少長度聲明方面存在問題。
例:
pack('Nc*',$some_integer,$long_array_of_integers);
在Python上,我沒有在struct.pack中看到這個“*”特征的模擬。 有關如何將其轉換為Python的任何想法?
這個怎么樣?
struct.pack('>I', some_integer) + struct.pack('b'*len(long_array), *long_array)
Perl的包使用類似於正則表達式的'*'字符 - 意味着更多相同的通配符。 當然,這意味着更多簽名的內容。
在Python中,你只需循環遍歷字符串並連接各個部分:
result = struct.pack('>L', some_integer)
for c in long_array_of_integers:
result += struct.pack('b',c)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.