麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 淺析Python中的struct模塊

淺析Python中的struct模塊

來源:千鋒教育
發布人:xqq
時間: 2023-11-07 14:42:22 1699339342

最近在學習python網絡編程這一塊,在寫簡單的socket通信代碼時,遇到了struct這個模塊的使用,當時不太清楚這到底有和作用,后來查閱了相關資料大概了解了,在這里做一下簡單的總結。

了解c語言的人,一定會知道struct結構體在c語言中的作用,它定義了一種結構,里面包含不同類型的數據(int,char,bool等等),方便對某一結構對象進行處理。而在網絡通信當中,大多傳遞的數據是以二進制流(binarydata)存在的。當傳遞字符串時,不必擔心太多的問題,而當傳遞諸如int、char之類的基本數據的時候,就需要有一種機制將某些特定的結構體類型打包成二進制流的字符串然后再網絡傳輸,而接收端也應該可以通過某種機制進行解包還原出原始的結構體數據。python中的struct模塊就提供了這樣的機制,該模塊的主要作用就是對python基本類型值與用python字符串格式表示的Cstruct類型間的轉化(ThismoduleperformsconversionsbetweenPythonvaluesandCstructsrepresentedasPythonstrings.)。stuct模塊提供了很簡單的幾個函數,下面寫幾個例子。

1、基本的pack和unpack

struct提供用formatspecifier方式對數據進行打包和解包(PackingandUnpacking)。例如:

importstruct

importbinascii

values=(1,'abc',2.7)

s=struct.Struct('I3sf')

packed_data=s.pack(*values)

unpacked_data=s.unpack(packed_data)

print'Originalvalues:',values

print'Formatstring:',s.format

print'Uses:',s.size,'bytes'

print'PackedValue:',binascii.hexlify(packed_data)

print'UnpackedType:',type(unpacked_data),'Value:',unpacked_data

輸出:

Originalvalues:(1,'abc',2.7)

Formatstring:I3sf

Uses:12bytes

PackedValue:0100000061626300cdcc2c40

UnpackedType:Value:(1,'abc',2.700000047683716)

代碼中,首先定義了一個元組數據,包含int、string、float三種數據類型,然后定義了struct對象,并制定了format‘I3sf’,I表示int,3s表示三個字符長度的字符串,f表示float。最后通過struct的pack和unpack進行打包和解包。通過輸出結果可以發現,value被pack之后,轉化為了一段二進制字節串,而unpack可以把該字節串再轉換回一個元組,但是值得注意的是對于float的精度發生了改變,這是由一些比如操作系統等客觀因素所決定的。打包之后的數據所占用的字節數與C語言中的struct十分相似。

以上內容為大家介紹了淺析Python中的struct模塊,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 久久久国产99久久国产久| 制服丝袜中文字幕在线观看| 中文字幕julia中文字幕| 欧洲大片无需服务器| 波多野结衣无限| www.米奇777.com| 特极毛片| 最近中文2019字幕第二页| 精品乱码一区二区三区在线 | 精品无人区一区二区三区| 亚洲国产综合专区在线电影| 深夜影院一级毛片| 深夜a级毛片| 久久成人免费播放网站| 国产一区二区三区精品视频| 日本三级免费看| 国产三级免费观看| 真正全免费视频a毛片| 产国语一级特黄aa大片| 小小影视日本动漫观看免费| 成人性生交大片免费看好| 成人毛片在线观看| 伊人色综合网一区二区三区| 中文天堂最新版www| 欧美www视频| 中文字幕黑人借宿神宫寺| 玖玖色资源站| 2019国产开嫩苞视频| 日本三级在线| 欧美亚洲国产日韩综合在线播放| 国产精品久久久久9999| 国产小鲜肉男同志gay| 草草浮力影视| 亚洲女初尝黑人巨高清| 女人把私密部位张开让男人桶| 国产乱子伦在线观看不卡| eeuss影院在线观看| 国产凌凌漆国语| 伊人丁香狠狠色综合久久 | 无翼乌全彩之大雄医生| 三级毛片大全|