青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天下

記錄修行的印記

Python中二進制數據處理模塊struct使用

Python中二進制數據處理模塊struct使用

Python中沒有二進制類型,但是可以使用string字符串類型來存儲二進制數據,然后使用struct模塊來對二進制數據進行處理。下面將詳細描述如何使用struct模塊來處理二進制數據。
使用struct.pack把一個整數值打包成字符串,打開Python命令行,輸入:
>>>import struct
>>> a =0x01020304
>>> str= struct.pack("I", a)
>>>repr(str)
"'\\x04\\x03\\x02\\x01'"
此時,str為一個字符串,字符串中的內容與整數a的二進制存儲的內容相同。

使用struct.unpack把字符串解包成整數類型,如下:
>>> b =struct.unpack("I", str)
>>> b
(16909060,)
在解包之后,返回一個元組類型(tuple)的數據。
如果多個數據進行打包,可以在格式中指定打包的數據類型,然后數據通過參數傳入:
>>> a ="hello"
>>> b ="world!"
>>> c =2
>>> d =45.123
>>> str= struct.pack("5s6sif", a, b, c, d)
等價于: struct.pack_into(“5s6sif”,str,  0, a, b, c, d)
>>> str
'helloworld!\x00\x02\x00\x00\x00\xf4}4B'
解包多個數據可以這樣做:
>>>parts = struct.unpack("5s6sif", str)
等價于:  struct.unpack_from(“5s6sif”, str, 0)
>>>parts
('hello','world!', 2, 45.12300109863281)
從上可以看到浮點值在解包后與原來值不一樣,這是因為浮點數的精度問題導致的。
struct模塊中二進制格式化表示
Format C Type Python type Standard size 
x pad byte no value     
c char string of length 1
b signed char integer 1   
B unsigned char integer 1   
? _Bool bool 1 (1) 
h short integer 2   
H unsigned short integer 2   
i int integer 4   
I unsigned int integer 4   
l long integer 4   
L unsigned long integer 4   
q long long integer 8 (2) 
Q unsigned long long integer 8 (2) 
f float float 4 (3) 
d double float 8 (3) 
s char[] string     
p char[] string     
P void * integer




最后一個可以用來表示指針類型,占4個字節(32位),8個字節(64位)。
為了在與不同硬件結構之間交換數據,需要考慮字節序,如下:
字符
字節序
大小和對齊
@
本機字節序
本機,本機4字節對齊
=
本機字節序
標準,按原字節數對齊

小尾字節序
標準,按原字節數對齊

大尾字節序
標準,按原字節對齊
!
網絡字節序(大尾)
標準,按原字節對齊

注:缺省的情況下,使用本機字節序(同@),可以通過上面的字符修改字節序。
計算格式字符串的大小函數:struct.calcsize(fmt)
>>>struct.calcsize("ihi")                       缺省為4字節對齊時,長度為12
12
>>>struct.calcsize("iih")                       當h在最后的時(此時不4字節對齊),長度為10
10
>>>struct.calcsize("@ihi")
12
>>>struct.calcsize("=ihi")
10
>>>struct.calcsize(">ihi")
10
>>>struct.calcsize("<ihi")
10
>>>struct.calcsize("!ihi")
10
注:二進制文件打開/讀取的時候需要使用“rb”/“wb”模式以二進制方式打開/讀取文件。
注:關于LE(little-endian)和BE(big-endian)區別:
LE—最符合人的思維的字節序,地址低位存儲值的低位,地址高位存儲值的高位。
BE—最直觀的字節序,地址低位存儲值的高位,地址高位存儲值的低位。
例如:雙字0X01020304在內存中存儲方式,LE=0403 02 01,BE=01 02 03 04。

posted on 2013-03-24 18:27 天下 閱讀(2796) 評論(0)  編輯 收藏 引用 所屬分類: Python

<2013年3月>
242526272812
3456789
10111213141516
17181920212223
24252627282930
31123456

導航

統計

常用鏈接

留言簿(4)

隨筆分類(378)

隨筆檔案(329)

鏈接

最新隨筆

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久精品国产亚洲一区二区| 欧美日韩亚洲一区在线观看| 欧美国产一区视频在线观看| 欧美影院精品一区| 亚洲免费人成在线视频观看| 亚洲免费在线看| 亚洲欧美清纯在线制服| 亚洲欧美三级在线| 久久免费国产精品| 欧美成人网在线| 亚洲精品小视频| 亚洲午夜国产一区99re久久| 午夜精品视频在线| 久久精品视频在线看| 欧美va天堂va视频va在线| 欧美国产一区二区在线观看| 欧美日韩直播| 黄色日韩网站视频| 日韩视频一区二区三区在线播放| 日韩一级大片在线| 欧美在线免费视频| 亚洲电影观看| 亚洲精品久久视频| 亚洲黄色免费网站| 欧美高清视频| 国产精品超碰97尤物18| 国产欧美精品一区| 亚洲激情影院| 久久精品99| 亚洲国产综合在线看不卡| 在线一区观看| 美国成人直播| 国产视频亚洲精品| 亚洲美洲欧洲综合国产一区| 久久精品国产清高在天天线| 亚洲欧洲免费视频| 久久亚洲精品一区二区| 国产精品美女www爽爽爽视频| 亚洲第一在线视频| 欧美在线免费观看| 亚洲视频自拍偷拍| 欧美裸体一区二区三区| 极品少妇一区二区| 久久成人18免费观看| 99爱精品视频| 欧美激情视频在线播放| 亚洲高清不卡av| 久久久久久91香蕉国产| 亚洲午夜影视影院在线观看| 欧美激情视频一区二区三区免费| 在线日本成人| 媚黑女一区二区| 欧美在线网站| 国外成人在线视频| 久久狠狠久久综合桃花| 亚洲午夜视频在线| 国产精品一区二区三区免费观看| 一本久道综合久久精品| 亚洲美女av网站| 欧美日韩一区在线视频| 亚洲午夜性刺激影院| aa成人免费视频| 欧美人与禽猛交乱配视频| 亚洲精品综合| 亚洲人在线视频| 欧美人妖在线观看| 亚洲欧美日韩在线不卡| 亚洲一区国产精品| 国产日韩欧美精品综合| 久久精品最新地址| 久久免费视频在线观看| 狠狠色丁香久久婷婷综合丁香 | 亚洲精品一区二区三| 蜜桃av一区| 蜜桃av一区二区在线观看| 亚洲国内自拍| 亚洲高清视频的网址| 欧美精品www在线观看| 日韩视频免费在线观看| 亚洲日本一区二区| 美女诱惑一区| 久久国产欧美日韩精品| 伊人天天综合| 亚洲精品国产精品久久清纯直播| 欧美精品一区二| 午夜精品久久久久久| 久久久久久精| 一区二区三区欧美亚洲| 亚洲欧美视频在线观看视频| 激情欧美一区二区| 亚洲免费成人av| 国产午夜精品在线观看| 亚洲激情网址| 国产日韩视频| 亚洲日本国产| 国产亚洲毛片| 亚洲日本成人| 国产一区二区| 亚洲精品欧美精品| 国产中文一区| 亚洲理论在线观看| 在线观看日韩av电影| 一区二区av| 亚洲欧洲精品成人久久奇米网| 一区二区欧美激情| 在线观看成人av| 中国亚洲黄色| 在线成人中文字幕| 亚洲欧美日韩在线不卡| 亚洲精品午夜| 久久久国产精彩视频美女艺术照福利 | 欧美一区二区三区精品电影| 久久精品一本久久99精品| 亚洲免费av网站| 久久精品欧美日韩| 欧美一区二区三区另类| 欧美欧美天天天天操| 欧美成人国产一区二区| 国产精品久久久一区二区| 亚洲国产精品尤物yw在线观看| 国产精品欧美日韩久久| 亚洲欧洲在线观看| 亚洲国产欧美精品| 久久精品免费电影| 久久不射电影网| 国产精品另类一区| 99re66热这里只有精品3直播| **性色生活片久久毛片| 久久精品一区二区三区四区| 午夜国产不卡在线观看视频| 欧美日韩国产一区二区三区| 欧美激情欧美激情在线五月| 亚洲高清在线视频| 久久国产精品网站| 久久久久成人精品免费播放动漫| 国产精品羞羞答答| 亚洲综合成人在线| 亚洲欧美日本精品| 国产精品久久久久久妇女6080| 日韩视频在线你懂得| 妖精成人www高清在线观看| 裸体歌舞表演一区二区| 嫩草影视亚洲| 91久久精品网| 在线观看欧美一区| 久久精品视频亚洲| 欧美韩日一区| 一区二区亚洲欧洲国产日韩| 久久精品免费| 欧美激情一区二区| av成人免费在线观看| 欧美日韩伊人| 亚洲午夜三级在线| 久久免费的精品国产v∧| 亚洲春色另类小说| 欧美日韩久久| 午夜在线一区| 欧美国产精品久久| 亚洲一区二区三区精品动漫| 国产欧美一区二区精品仙草咪| 久久九九国产精品| 亚洲国产三级在线| 午夜久久一区| 亚洲国产精品v| 国产精品大全| 久久久伊人欧美| 日韩午夜电影在线观看| 欧美在线视频网站| 亚洲日本成人女熟在线观看| 欧美日本一区| 欧美一区2区三区4区公司二百| 欧美国产日本| 欧美一级二级三级蜜桃| 亚洲国内精品在线| 国产精品视频一二三| 久久网站热最新地址| 一道本一区二区| 免费不卡在线视频| 亚洲欧美在线高清| 在线观看视频欧美| 国产精品va在线播放我和闺蜜| 久久蜜桃精品| 亚洲你懂的在线视频| 亚洲人成毛片在线播放| 久久久人人人| 亚洲女性喷水在线观看一区| 亚洲国产精品va| 国产日韩欧美视频| 欧美日韩一区二区三区在线| 久久人人97超碰国产公开结果| 这里只有精品丝袜| 欧美激情一区二区三区在线视频观看| 亚洲午夜视频| 日韩视频一区二区三区在线播放免费观看| 国产女人18毛片水18精品| 欧美日韩第一页| 美女网站在线免费欧美精品| 久久福利影视| 欧美一区激情视频在线观看| 中文av字幕一区|