簡體   English   中英

什么時候/為什么我應該在python中使用struct library來打包和解包?

[英]When/why should I use struct library in python to pack and unpack?

我不明白我什么時候應該在python的struct庫中使用pack和unpack函數? 我也不明白如何使用它們? 閱讀之后,我理解的是它們用於將數據轉換為二進制。 但是當我運行一些例子時:

>>> struct.pack("i",34)
'"\x00\x00\x00'

我無法理解它。 我想了解它的目的,這些轉換是如何發生的,'\\ x'和其他符號代表/意味着什么以及解包如何工作。

我不明白我什么時候應該在python的struct庫中使用pack和unpack函數?

那么你可能沒有理由使用它們。

其他人處理具有低級二進制打包的網絡和文件格式,其中struct非常有用。

但是當我運行一些例子時:

 >>> struct.pack("i",34) '"\\x00\\x00\\x00' 

我無法理解它。

\\x表示法用於使用十六進制表示bytes對象的各個字節。 \\x00表示字節值為0, \\x02表示字節值為2, \\x10表示該字節值為16,等等。 "是字節34,所以我們在此視圖中看到"而不是\\x22字符串,但'\\x22\\x00\\x00\\x00''"\\x00\\x00\\x00'是相同的字符串

http://www.swarthmore.edu/NatSci/echeeve1/Ref/BinaryMath/NumSys.html可能會幫助您了解一些背景知識,如果這是您需要了解數字的水平。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM