麻豆黑色丝袜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| 夫妇交换性3中文字幕k8| 草莓视频黄色在线观看| 客厅餐桌椅子上波多野结衣 | swag在线观看| 触手强制h受孕本子里番| 久久精品成人一区二区三区| 狼群影院www| 亚洲国产三级在线观看| 中文字幕精品一区二区精品| 永久看一二三四线| 国产精品高清一区二区三区 | 久久观看视频| 娇小xxxxx性开放| 西西人体444rt高清大胆| 亚洲永久精品ww47| 日日干影院| 91精品国产91久久久久久| 亚洲视频免费看| 国产动作大片中文字幕| 久久精品欧美日韩精品| 美国十次啦色| 动漫人物将机机插曲3d版视频| 国产特黄一级片| 亚洲精品中文字幕乱码三区| 99麻豆视频| 1卡2卡三卡4卡国产| 国产成人一区二区在线不卡| 一个人看的www免费高清| 色成快人播电影网| 国产精品国产三级国产普通话a| 亚洲午夜久久久精品电影院| 大香伊人久久精品一区二区| 又黄又爽又色的视频| 污小说总裁整夜没拔出| 日韩精品一区二区三区在线观看l| 用被子自w到高c方法| 色综合久久伊人| 日本免费电影一区| 欧美午夜不卡| 黄色一级电视|