国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

            手機站
            千鋒教育

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

            千鋒教育

            掃一掃進入千鋒手機站

            領取全套視頻
            千鋒教育

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

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

            淺析Python中的struct模塊

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

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

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

            1、基本的pack和unpack

            struct提供用formatspecifier方式對數(shù)據(jù)進行打包和解包(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)

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

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

            tags: python培訓
            聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉載。
            10年以上業(yè)內(nèi)強師集結,手把手帶你蛻變精英
            請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您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