[英]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.